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

यह क्वेरी इंडेक्स के बजाय कहां का उपयोग कर रही है?

EXPLAIN . का आउटपुट कभी-कभी भ्रामक हो सकता है।

उदाहरण के लिए, filesort फ़ाइलों से कोई लेना-देना नहीं है, using where इसका मतलब यह नहीं है कि आप WHERE . का उपयोग कर रहे हैं खंड, और using index एक भी इंडेक्स परिभाषित किए बिना टेबल पर दिखाई दे सकता है।

using where इसका सीधा सा मतलब है कि टेबल पर कुछ प्रतिबंधित क्लॉज है (WHERE या ON ), और सभी रिकॉर्ड वापस नहीं किए जाएंगे। ध्यान दें कि LIMIT एक प्रतिबंधित खंड के रूप में नहीं गिना जाता (हालांकि यह हो सकता है)।

Using index इसका मतलब है कि तालिका में रिकॉर्ड मांगे बिना सभी जानकारी सूचकांक से वापस कर दी जाती है। यह तभी संभव है जब क्वेरी के लिए आवश्यक सभी फ़ील्ड इंडेक्स द्वारा कवर किए गए हों।

चूंकि आप * . का चयन कर रहे हैं , ऐसा हो ही नहीं सकता। category_id . के अलावा अन्य फ़ील्ड , board_id , display और order सूचकांक द्वारा कवर नहीं किया जाता है और इसे ऊपर देखा जाना चाहिए।



  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 डेटाबेस सेवा - नई हीटवेव इनोवेशन

  2. MySQL इंसर्ट स्टेटमेंट में Oracle से MySQL टाइमस्टैम्प रूपांतरण

  3. PHP MySQL - तैयार कथन में डिफ़ॉल्ट मान कैसे सम्मिलित करें

  4. com.zaxxer.hikari.pool.PoolInitializationException:पूल आरंभीकरण के दौरान अपवाद

  5. MySQL में OCTET_LENGTH () फ़ंक्शन कैसे काम करता है