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

MySQL:Sự khác biệt giữa `... ADD INDEX (a); ... THÊM CHỈ SỐ (b); `và` ... THÊM CHỈ SỐ (a, b); `?

INDEX kết hợp là sự kết hợp của các phím "a" và "b". Nó cải thiện đáng kể quyền truy cập nếu "a" hoặc "a" VÀ "b" là một phần của biểu thức tìm kiếm.

Chỉ mục này sẽ không hữu ích nếu bạn chỉ cung cấp "b" trong các câu lệnh SQL của mình.

Do đó, có thể hữu ích nếu cung cấp hai chỉ số khác nhau - nhưng chúng nên sử dụng các tên khác nhau.

Tùy thuộc vào các kiểu truy cập, tôi sẽ đề xuất một chỉ mục trên "a" và "b" và một chỉ mục bổ sung trên "b" nếu điều này phù hợp với nhu cầu của bạn.

Xin lưu ý rằng bất kỳ chỉ mục bổ sung nào sẽ làm chậm cơ sở dữ liệu trên tất cả các hoạt động sửa đổi dữ liệu. Đôi khi, tốt hơn là giữ một số chỉ số. Thông thường, một lời khuyên hữu ích là KHÔNG SỬ DỤNG các chỉ số trên bất kỳ cột nào của bảng.

Một gợi ý nữa:để quyết định xem nên sử dụng INDEX (a, b) hay INDEX (b, a), hãy xem xét sự phân phối dữ liệu của bạn. Đặt các giá trị có mức chênh lệch cao hơn của các giá trị khác nhau vào cột đầu tiên của chỉ mục để tăng tính chọn lọc của chỉ số đó. Giá trị này thường dựa trên chất lượng của phần tử chỉ mục đầu tiên.

Ví dụ:một chỉ mục trên cột NAME và SEX nên được tạo dưới dạng INDEX (TÊN, SEX) vì có nhiều tên khác giới tính.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tầm quan trọng của độ dài varchar trong bảng MySQL

  2. ĐẶT HÀNG ĐOÀN KẾT MYSQL

  3. Mac OS X Lion - mysql:không tìm thấy lệnh

  4. JSON_STORAGE_FREE () - Tìm hiểu Dung lượng lưu trữ được giải phóng sau khi cập nhật tài liệu JSON trong MySQL

  5. MySQL sắp xếp thứ tự theo giá trị mảng