Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Indeks optimal untuk antar kueri

Tidak yakin mengapa, tetapi menambahkan urutan demi klausa dan batas ke kueri tampaknya selalu menghasilkan klik indeks, dan dieksekusi dalam beberapa milidetik, bukan beberapa detik.

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 |
+----+-------------+--------+-------+-----------------+----------+---------+------+--------+-------------+

Ini cukup baik untuk saya sekarang, meskipun saya ingin mengetahui alasan di balik mengapa pengoptimal memutuskan untuk tidak menggunakan indeks dalam kasus lain.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengetahui set karakter server default di mysql?

  2. Bergabunglah dengan satu baris dari tabel di MySQL

  3. PHP/Apache:PHP Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysql_connect()

  4. Mengekspor Blob dari database MySQL ke file hanya dengan SQL

  5. SQL Query Untuk Menghapus Database Di MySQL