Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL EXPLAIN के आउटपुट की व्याख्या कैसे करें?

आपके सवालों का जवाब देना:

  • क्या possible_keys है MySQL जिन सूचकांकों का उपयोग करना चाहेगा और keys क्या इंडेक्स MySQL वास्तव में उपयोग करता है? हां यह सही है।

  • इंडेक्स index_status_mit_spam क्यों है? उपयोग नहीं किया? क्वेरी में, कॉलम में इंडेक्स के समान क्रम होता है। SQL तालिका की अनुक्रमणिका पर आँकड़ों का उपयोग करता है यह निर्धारित करने के लिए कि किस सूचकांक का उपयोग करना है। चयनित कथन में फ़ील्ड के क्रम का कोई प्रभाव नहीं पड़ता किस सूचकांक का उपयोग करना है। इंडेक्स के आसपास के आंकड़ों में इंडेक्स की विशिष्टता और अन्य चीजों जैसी जानकारी शामिल होती है। अधिक अद्वितीय अनुक्रमणिका का उपयोग किए जाने की संभावना है। इसके बारे में यहाँ और पढ़ें:http ://dev.mysql.com/doc/innodb/1.1/hi/innodb-other-changes-statistics-estimation.html या यहाँ:http://dev.mysql .com/doc/refman/5.0/hi//myisam-index-statistics.html . ये कारक निर्धारित करते हैं कि MySQL एक अनुक्रमणिका का चयन कैसे करेगा उपयोग करने के लिए। यह केवल एक अनुक्रमणिका . का उपयोग करेगा ।

  • इंडेक्स index_datum क्यों है? ORDER BY . के लिए उपयोग नहीं किया गया ? MySQL क्वेरी के दौरान केवल एक इंडेक्स का उपयोग करेगा, दो नहीं, क्योंकि दूसरी इंडेक्स का उपयोग करने से क्वेरी और भी धीमी हो जाएगी। एक इंडेक्स पढ़ना टेबल नहीं पढ़ रहा है। यह क्वेरी की परिचालन दक्षता से संबंधित है। यहां ऐसे उत्तर दिए गए हैं जो कुछ अवधारणाओं की व्याख्या कर सकते हैं:https://dba.stackexchange.com/questions/18528/performance-difference-between-clustered-and-non-clustered-index/18531#18531 या MySQL क्वेरी में लिमिट क्लॉज़ जोड़ने से यह नाटकीय रूप से धीमा हो जाता है या MySQL इंडेक्स और कब ग्रुप करना है उन्हें . इन उत्तरों में बहुत अधिक विवरण हैं जो आपको MySQL अनुक्रमण को समझने में मदद करेंगे।

  • मैं अपने टेबल-सूचकांक या क्वेरी को कैसे अनुकूलित कर सकता हूं? (उपरोक्त क्वेरी में तालिका में लगभग दस लाख प्रविष्टियां होने के लिए 3 सेकंड तक की आवश्यकता होती है)। वैसे यहाँ एक फाइलसॉर्ट है जो शायद आपको धीमा कर रहा है। हो सकता है कि तालिका में बहुत अधिक अनुक्रमणिका हों और MySQL गलत अनुक्रमणिका का चयन कर रहा हो।

आपको यह समझने की जरूरत है कि इंडेक्स पढ़ने की गति बढ़ाता है और टेबल पर लिखने को धीमा करता है। तो केवल अनुक्रमणिका जोड़ना हमेशा एक अच्छा विचार नहीं होता है। ऊपर दिए गए जवाब और संकेत आपको एक ठोस समझ हासिल करने में मदद करेंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL CHAR () बनाम T-SQL CHAR ():क्या अंतर है?

  2. निर्दिष्ट कुंजी बहुत लंबी थी; एंटिटी फ्रेमवर्क 6 में अधिकतम कुंजी लंबाई 767 बाइट्स माइस्क्ल त्रुटि है

  3. LAST_INSERT_ID ( ) 0 की एक से अधिक पंक्तियाँ लौटा रहा है?

  4. mysqli - क्या मुझे वास्तव में $result->close(); और $mysqli-> करीब ();?

  5. MySQL, फ़ील्ड को अलग करने के लिए कई पंक्तियाँ