2012-06-30 24 views
56

लॉक रिलीज आदि के इंतजार में आने वाले समय को मापने के बिना मैं क्वेरी के निष्पादन समय को कैसे माप सकता हूं? मेरा एकमात्र विचार लगातार एक ही प्रश्न को मापना और सबसे तेज़ समय रिकॉर्ड करना था।वास्तविक MySQL क्वेरी समय मापना

उत्तर

110

प्रारंभ

SET profiling = 1; 

साथ प्रोफाइलर फिर अपने क्वेरी निष्पादित करें।

साथ

SHOW PROFILES; 

आप प्रश्नों प्रोफाइलर के लिए आंकड़े की एक सूची दिखाई। और अंत में आप

SHOW PROFILE FOR QUERY 1; 

या आपकी क्वेरी के किसी भी नंबर के साथ जांच करने के लिए कौन सी क्वेरी चुननी है।

आपको जो मिलता है वह एक सूची है जहां क्वेरी के दौरान वास्तव में कितना समय व्यतीत किया गया था। manual.

+0

यह उत्कृष्ट है! क्या आपको पता है कि यह धीमा है या नहीं? यानी मैं अपनी वेबसाइट पर चलने वाली हर क्वेरी के लिए निष्पादित करने के लिए इसे अपने रैपर वर्ग में जोड़ सकता हूं? – Mikhail

+2

इस बारे में कभी सोचा नहीं। आप ऐसा क्यों करना चाहते हो? आमतौर पर यह केवल विकास के लिए है, मुझे लगता है। यदि आप जानना चाहते हैं कि कौन से प्रश्न धीमे हैं तो आपके धीमे-क्वेरी-लॉग में एक नज़र डालें। http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html – fancyPants

+0

क्योंकि प्रश्न अलग-अलग उपयोगकर्ताओं के लिए अलग-अलग समय लेते हैं। धीमी-क्वेरी-लॉग उस समय की गणना करता है जब यह लॉक रिलीज के लिए प्रतीक्षा करता है – Mikhail

27

जवाब में

अधिक जानकारी अमान्य होता जा रहा है ...

SHOW PROFILE[S]MySQL 5.6.7 के रूप में पदावनत कर रहे हैं और एक भविष्य MySQL रिलीज में हटा दिया जाएगा। इसके बजाए प्रदर्शन स्कीमा का प्रयोग करें; http://dev.mysql.com/doc/refman/5.6/en/performance-schema-query-profiling.html

+0

यदि प्रोफ़ाइल आपको "डेटा भेजने" से अधिक उपयोगी बनाती है, तो आप लॉटरी जीतते हैं। –

+0

मैं 5.7.1 9 का उपयोग कर रहा हूं और अभी भी 'प्रोफ़ाइल दिखाएं' ठीक से काम करता है –

+0

@SivaPraveen - ठीक है, अभी के लिए यह अभी भी काम करता है, लेकिन "... हटा दिया जाएगा ..." –

संबंधित मुद्दे