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

Chỉ mục Mysql bị bỏ qua

FORCE là một từ nhầm lẫn một chút. Đây là những gì tài liệu MySQL nói (tôi nhấn mạnh):

Bạn cũng có thể sử dụng FORCE INDEX, hoạt động giống như USE INDEX (index_list) nhưng với việc bổ sung rằng việc quét bảng được cho là rất tốn kém. Nói cách khác, quá trình quét bảng chỉ được sử dụng nếu không có cách nào sử dụng một trong các chỉ mục đã cho để tìm hàng trong bảng.

Vì bạn không thực sự "tìm thấy" bất kỳ hàng nào (bạn đang chọn tất cả chúng), nên việc quét bảng là luôn luôn sẽ nhanh nhất và trình tối ưu hóa đủ thông minh để biết điều đó bất chấp những gì bạn đang nói với họ.

ETA:

Hãy thử thêm ORDER BY trên khóa chính một lần và tôi cá rằng nó sẽ sử dụng chỉ mụ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. PHP Apache gặp sự cố trong khi thực hiện QUY TRÌNH ĐƯỢC LƯU TRỮ

  2. Mysql thay đổi bộ mã bảng mặc định thành bộ mã cơ sở dữ liệu

  3. Chọn N hàng cuối cùng từ MySQL

  4. Truy vấn múi giờ MySQL

  5. Làm cách nào để xóa 3 ký tự đầu tiên trong mysql?