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

खंड में अनुक्रमणिका का उपयोग नहीं कर रहा है

मैं एक अंग पर बाहर जाऊंगा और कहूंगा कि ऐसा इसलिए है क्योंकि आप MyISAM इंजन का उपयोग कर रहे हैं।

यह INNODB के साथ पूरी तरह से ठीक काम कर रहा है जैसा कि इसमें देखा जा सकता है उत्तर मेरा।

मैं इस मामले पर कम से कम 1 माननीय संदर्भ को जगाने की कोशिश करूंगा।

यहां, रेंज जॉइन टाइप , स्पष्ट रूप से एक INNODB फोकस है क्योंकि यह डिफ़ॉल्ट इंजन है। और जब कुछ दस्तावेज़ीकरण पदानुक्रम में मैनुअल में स्पष्ट रूप से उल्लेख नहीं किया जाता है, तो यह मान लिया जाता है।

ध्यान दें, मेरे उदाहरण लिंक में आईडी के बारे में कुछ भी सन्निहित नहीं है। मतलब, type=range . पर हाइपरफोकस न करें इसके EXPLAIN आउटपुट में। गति अनुकूलक (CBO) के माध्यम से प्राप्त की जाती है।

cardinality मेरे उदाहरण में बहुत अधिक (4.3 मिलियन) है। लक्ष्य आईडी की संख्या अपेक्षाकृत कम (1000) है। सूचकांक का उपयोग किया जाता है।

आपकी स्थिति इसके विपरीत हो सकती है:आपकी कार्डिनैलिटी अविश्वसनीय रूप से कम हो सकती है, जैसे 3, और ऑप्टिमाइज़र इंडेक्स के उपयोग को छोड़ने का फैसला करता है।

अपनी अनुक्रमणिका की जाँच करने के लिए cardinality , मैनुअल पेज देखें INDEX Syntax दिखाएं

एक साधारण कॉल जैसे:

show index from ratings;

+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table   | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| ratings |          0 | PRIMARY  |            1 | id          | A         |     4313544 |     NULL | NULL   |      | BTREE      |         |               |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL पीडीओ:ज़ीरोफिल इंट कॉलम के अग्रणी शून्य को कैसे संरक्षित करें

  2. MySQL और PHP - खाली स्ट्रिंग के बजाय NULL डालें

  3. क्या मुझे MySQL में डेटाटाइम या टाइमस्टैम्प डेटा प्रकार का उपयोग करना चाहिए?

  4. 30 सेकंड का अधिकतम निष्पादन समय पार हो गया

  5. MySQL कार्यक्षेत्र डेटाबेस सर्वर से कनेक्ट नहीं हो सकता