mysql की अवधि और लाने का समय


87

मैं MySQL कार्यक्षेत्र का उपयोग कर रहा हूं - जब क्वेरी चलती है तो अवधि और लाने के समय के बीच क्या अंतर है?

इसके अलावा एक ऐसा तरीका है जिससे मैं MySQL में माइक्रोसेकंड विकल्प को सक्षम कर सकता हूं?


अजीब सा इनाम। सभी उत्तर सही हैं लेकिन आप उन पर विश्वास नहीं करते हैं? यहाँ और यहाँ पर माइक लिस्चके के ठीक वही उत्तर हैं, जो ओरेकल के लिए mysql फोरम पर काम करते हैं। विश्वसनीय पर्याप्त?
ह्यूगो डेल्सिंग

जवाबों:


162

लाने का समय - यह मापता है कि कितने समय में स्थानांतरित परिणाम प्राप्त होते हैं, जिनका क्वेरी निष्पादन से कोई लेना-देना नहीं है। मैं इसे sql क्वेरी डीबगिंग / ऑप्टिमाइज़ेशन विकल्प के रूप में नहीं मानूंगा क्योंकि भ्रूण का समय नेटवर्क कनेक्शन पर निर्भर करता है, जो खुद को क्वेरी ऑप्टिमाइज़ेशन से कोई लेना-देना नहीं है। यदि भ्रूण का समय अड़चन है तो अधिक संभावना है कि कुछ नेटवर्किंग समस्या है।

नोट: प्रत्येक क्वेरी निष्पादन पर लाने का समय अलग-अलग हो सकता है।

अवधि समय - वह समय होता है जब क्वेरी को निष्पादित करने की आवश्यकता होती है। Sql क्वेरी के प्रदर्शन का अनुकूलन करते समय आपको इसे कम करने का प्रयास करना चाहिए।

संदर्भ


5
अनुकूलन purporses के लिए, याद रखें कि विकल्प query_cache_typeहोना चाहिए OFF, ताकि परिणाम कैश से प्रभावित न हो। देखें stackoverflow.com/questions/181894/...
dellasavia

6
जबकि मैं मानता हूं कि अवधि वह मूल्य है जिसे आप आमतौर पर अनुकूलित करना चाहते हैं, क्योंकि यह सीधे आपकी क्वेरी की दक्षता से संबंधित है, असामान्य रूप से उच्च लाने का समय महत्वपूर्ण तर्क त्रुटियों और / या अक्षमताओं को इंगित कर सकता है। उदाहरण के लिए, आप प्रत्येक क्वेरी के साथ बड़ी मात्रा में टेक्स्ट ट्रांसफर कर सकते हैं जो क्लाइंट को कैशिंग करना चाहिए। या हो सकता है कि आप 100k पंक्तियों को वापस कर रहे हों जब आप केवल 10 की उम्मीद कर रहे थे
ग्रांडऑननर

1
अच्छी बात @GrandOpener - या आप का चयन किया जा सकता है (*) जब आप सभी की जरूरत है पंक्ति आईडी है।
एंड्रयू लॉयन

मैंने MySQL में प्रोफाइलर चालू किया और एक क्वेरी चलायी। मैंने तब कार्यक्षेत्र और प्रोफाइलर आउटपुट दोनों की जांच की। Workbench द्वारा बताई गई अवधि 0.373 है, जबकि प्रोफाइलर से कुल अवधि 0.01 तक पहुंचती है। इसका मतलब यह है कि कार्यक्षेत्र में अवधि आउटपुट क्वेरी निष्पादन के लिए MySQL द्वारा खर्च किए गए समय की कुल राशि नहीं है?
मेगलियो

यह सही नहीं लगता। मेरे पास दो प्रश्न हैं जो समान पंक्तियों (15300) को लौटाते हैं लेकिन उनके आँकड़े हमेशा अलग होते हैं। एक 14,443 सेकेंड की अवधि / 1111,810 सेकंड की फ़ेच और दूसरी 443,986 सेकंड की अवधि / 0,0089 सेकंड की फ़ेच ले जाता है। ऐसा क्यों है?
शाहिद

16

अवधि क्वेरी को निष्पादित करने के लिए आवश्यक समय दिखाती है और परिणाम सेट को पढ़ने के लिए आवश्यक समय है (डेटा पुनः प्राप्त करें)

मैं माइक्रोसेकंड विकल्प के बारे में अनिश्चित हूं। यदि यह अनुकूलन के संबंध में है, तो याद रखें - "समयपूर्व अनुकूलन सभी बुराई की जड़ है"


1

माइक्रोसेकंड के बारे में, प्राथमिकता मेनू में इसे सक्षम करने का प्रयास करें, और मुझे पहले की अवधि और समय के बारे में भी एक प्रश्न मिला, अब मुझे लगता है कि उत्तर क्वेरी के निष्पादन का समय है, और भ्रूण प्राप्त होता है। परिणाम और जहाँ भी आप चाहते हैं उन्हें भेजें। उदाहरण के लिए, मुझे एक क्वेरी मिलती है जिसका अवधि समय 0.078 है लेकिन अपनी वेबसाइट पर डेटा वापस भेजने के लिए 60 सेकंड का समय लगेगा।


1

निष्पादन का समय क्वेरी को तैयार करने और क्वेरी को चलाने में व्यतीत होता है और लाने का समय खींचने वाले पंक्ति परिणामों में समय व्यतीत होता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.