2009-08-31 13 views
18

मुझे EXPLAIN SELECT क्वेरी MySQL में बहुत उपयोगी है क्योंकि यह जानकारी देता है कि SQL कैसे निष्पादित किया जाएगा और विश्लेषण करने का अवसर प्रदान करता है, उदाहरण के लिए, अनुपलब्ध इंडेक्स जो आपको पहले सुधार में सुधार करने के लिए जोड़ना चाहिए क्वेरी स्वयं कर रहे हैं और आंकड़ों का विश्लेषण कर रहे हैं।अन्य डेटाबेस में EXPLAIN SELECT

मेरा प्रश्न है: एमएस एसक्यूएल, फायरबर्ड, इंग्रेस जैसे डेटाबेस में, एक समान कमांड उपलब्ध है?

फायरबर्ड में हमारे पास योजना है, लेकिन बहुत कमजोर है क्योंकि कई बार एक साधारण गलती देखने के लिए बहुत लंबे प्रश्नों को चलाने के लिए कई बार चलना पड़ता है।

सादर,

मौरो एच Leggieri

+0

Firebird में योजना की व्याख्या को दर्शाता है जब आप * क्वेरी * तैयार करते हैं तो उपलब्ध है। इसलिए आपको यह पता लगाने के लिए वास्तव में क्वेरी चलाने की ज़रूरत नहीं है कि यह एक खराब कलाकार बनने जा रहा है। –

+0

फायरबर्ड में, यदि आप आईबीएक्सपेरेट या डेटाबेस वर्कबेंच का उपयोग करते हैं: आप आसानी से देख सकते हैं कि समस्या कहां आती है। अच्छा प्लान विश्लेषक है जो आपको अनुक्रमित या अनुक्रमित फ़ील्ड दिखाता है –

उत्तर

19

Oracle में:

EXPLAIN PLAN FOR SELECT … 

PostgreSQL में:

EXPLAIN SELECT … 

SQL Server में:

SET SHOWPLAN_XML ON 

GO 

SELECT … 

GO 
3

में ओरेकल हम

EXPLAIN PLAN for sql 

http://www.adp-gmbh.ch/ora/explainplan.html

में एमएस एसक्यूएल सर्वर आप निष्पादन योजना का एक पाठ या एक्सएमएल संस्करण प्राप्त कर सकते है।

SET SHOWPLAN_XML ON|OFF 
SET SHOWPLAN_TEXT ON|OFF 

हालांकि इन्हें एसक्यूएल सर्वर प्रबंधन स्टूडियो/TOAD में दृश्य उपकरण का उपयोग करके सबसे अच्छा देखा जाता है।

http://msdn.microsoft.com/en-us/library/ms176058.aspx

कुछ और है कि काफी उपयोगी है

SET STATISTICS IO ON|OFF 
4

MSSQL सर्वर के लिए आप

SET SHOWPLAN_TEXT ON and SET SHOWPLAN_TEXT OFF 

उपयोग कर सकते हैं यह वास्तव में exectued कारण क्वेरी कर पाएगा है, लेकिन इसे वे क्वेरी वापस आ जाएगी योजना।

ओरेकल के लिए आप जब क्रियान्वित करने का उपयोग कर सकते

SET AUTOTRACE ON or EXPLAIN PLAN 

+0

अच्छा! मैं वास्तव में यह नहीं जानता था – RiddlerDev

0

एमएस एसक्यूएल प्रबंधन स्टूडियो में एक उपयोगिता बुलाया प्रदर्शन निष्पादन योजना है (मैं के बारे में Firebird या Ingres पता नहीं है) (अनुमानित और सटीक) एक प्रश्न।यह क्वेरी के लिए आंकड़े भी प्रदर्शित कर सकता है (रन टाइम, पंक्तियों की संख्या, यातायात इत्यादि)

3

इंग्रेस के लिए, निम्नलिखित पंक्तियों, डिस्क आईओएस और सीपीयू चक्रों की संख्या के अनुमान के साथ चुनी गई अंतिम योजना आपको निम्नलिखित देगी:

set qep 

योजना प्राप्त करने के लिए, लेकिन अमल नहीं का चयन भी

set optimizeonly 

पुन: सक्षम क्वेरी निष्पादन जोड़ें:

set nooptimizeonly 

"सेट QEP" से उत्पादन के साथ तुलना करने के लिए मार डाला क्वेरी के लिए वास्तविक आंकड़े, प्राप्त करने के लिए:

set trace point qe90 

ऊपर बारे में अधिक जानकारी के लिए http://docs.ingres.com/Ingres/9.2/SQL%20Reference%20Guide/set.htm देखें।

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