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

Cột nào để đặt đầu tiên trong chỉ mục? Cardinality cao hơn hay thấp hơn?

Việc tra cứu chỉ mục tổng hợp MySQL phải diễn ra theo thứ tự các cột được xác định trong chỉ mục. Vì bạn muốn MySQL có thể phân biệt giữa các bản ghi bằng cách thực hiện càng ít phép so sánh càng tốt, với tất cả những thứ khác bằng nhau, bạn sẽ được hưởng lợi nhiều nhất từ ​​chỉ mục tổng hợp trong đó các cột được sắp xếp theo thứ tự từ cao nhất đến thấp nhất.

Nghĩa là, giả sử cuối cùng các phép so sánh phải được thực hiện đối với cột số lượng cao nhất để phân biệt các bản ghi, tại sao lại buộc các phép so sánh phải thực hiện trước với cột số lượng thấp nhất khi điều đó có thể không cần thiết?



  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 - LÀM THẾ NÀO ĐỂ ĐẶT HÀNG THEO TƯƠNG QUAN? Bảng INNODB

  2. jooq truy vấn đơn với mối quan hệ một đến nhiều

  3. Mysql lưu trữ dữ liệu ở đâu?

  4. Chuyển đổi ngày giờ của MySQL thành dấu thời gian

  5. nhân bản mysql - máy chủ nô lệ trên một cơ sở dữ liệu