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

Các chỉ mục có được sử dụng nếu bạn truy vấn một tập hợp con của các cột của chỉ mục không?

Tài liệu MySQL thực hiện rất tốt việc giải thích cách hoạt động của các chỉ mục nhiều cột tại đây .

Nói chung, chỉ mục có thể được sử dụng cho một where mệnh đề khi một số cột ở ngoài cùng bên trái bên của chỉ số có điều kiện bình đẳng. where mệnh đề sử dụng các cột sau:

  • c1, c2
  • c1, c2, c3, c4
  • c1, c2
  • c1, c2, c5

Bất kỳ chỉ mục nào bắt đầu bằng các cột c1c2 thường sẽ được sử dụng cho các truy vấn này. MySQL có thể áp dụng các điều kiện khác để sử dụng chỉ mục, chẳng hạn như tính chọn lọc. Đó là, nếu c1c2 có các giá trị không đổi (ví dụ) thì việc sử dụng chỉ mục sẽ không có lợi cho truy vấn.

Để tối ưu hóa tất cả các kết hợp này, bạn có thể tạo hai chỉ mục:c1, c2, c3, c4c2, c1, c5 . Lý do hoán đổi c1c2 trong chỉ mục thứ hai là do đó bạn có thể xử lý các truy vấn có điều kiện trên c2 nhưng không phải c1 , cũng như ngược lại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhập dữ liệu vào cơ sở dữ liệu MySQL

  2. Thực thi truy vấn thô trên MySQL Loopback Connector

  3. Tính toán SQL để tìm chênh lệch thời gian

  4. Kết nối mã nguồn PHP và gửi biểu mẫu đến Cơ sở dữ liệu MySQL

  5. Làm cách nào để lưu trữ mật khẩu an toàn trong MySQL và xác thực với các dịch vụ bên ngoài