Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Chỉ mục tối ưu cho giữa các truy vấn

Không chắc tại sao, nhưng việc thêm thứ tự theo mệnh đề và giới hạn vào truy vấn dường như luôn dẫn đến lần truy cập chỉ mục và thực thi trong vài mili giây thay vì vài giây.

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

Điều này là đủ tốt đối với tôi bây giờ, mặc dù tôi rất muốn biết lý do đằng sau lý do tại sao trình tối ưu hóa quyết định không sử dụng chỉ mục trong trường hợp khác.



  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 thay đổi tất cả các giá trị trong một cột

  2. cách bỏ cột khỏi bảng nếu tồn tại

  3. Tăng tốc số lượng lớn các bản cập nhật và chèn mysql

  4. Tải tệp PDF lên mysql BLOB bằng cách sử dụng java.sql.

  5. So sánh các chuỗi trong MySQL có dễ bị tấn công định thời không?