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

MySQL:प्रश्नों के बीच इष्टतम अनुक्रमणिका

पता नहीं क्यों, लेकिन क्‍वेरी में क्‍लॉज और लिमिट के अनुसार ऑर्डर जोड़ने से हमेशा एक इंडेक्स हिट होता है, और कुछ सेकंड के बजाय कुछ मिलीसेकंड में निष्पादित होता है।

explain select * from geo_ip where 2393196360 between start_ip and end_ip order by start_ip desc limit 1;
+----+-------------+--------+-------+-----------------+----------+---------+------+--------+-------------+
| id | select_type | table  | type  | possible_keys   | key      | key_len | ref  | rows   | Extra       |
+----+-------------+--------+-------+-----------------+----------+---------+------+--------+-------------+
|  1 | SIMPLE      | geo_ip | range | start_ip,end_ip | start_ip | 4       | NULL | 975222 | Using where |
+----+-------------+--------+-------+-----------------+----------+---------+------+--------+-------------+

यह अब मेरे लिए काफी अच्छा है, हालांकि मुझे इसके पीछे का कारण जानना अच्छा लगेगा कि ऑप्टिमाइज़र दूसरे मामले में इंडेक्स का उपयोग न करने का फैसला क्यों करता है।



  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 5.6 `MySQLInstanceConfig.exe` के समतुल्य कहाँ है?

  3. MySQL में PostgreSQL merge_db (उर्फ upsert) फ़ंक्शन का अनुवाद कैसे करें

  4. mysql में परिवर्तन का उपयोग करके कॉलम कैसे जोड़ें?

  5. PHP में एक्सेल से डेटा आयात करें