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

Chỉ mục cơ sở dữ liệu nhiều cột và tốc độ truy vấn

Không. Thứ tự của các cột trong chỉ mục là rất quan trọng. Giả sử bạn có một chỉ mục như sau:create unique index index_name on table_name (headline, coupon_code, description,expiration_date) Trong trường hợp này, các truy vấn này sẽ sử dụng chỉ mục

select * from table_name where headline = 1
select * from table_name where headline = 1 and cupon_code = 2

và những truy vấn này sẽ không sử dụng chỉ mục duy nhất:

select * from table_name where coupon_code = 1
select * from table_name where description = 1 and cupon_code = 2

Vì vậy, quy tắc là một cái gì đó như thế này. Khi bạn có nhiều trường được lập chỉ mục cùng nhau, thì bạn phải chỉ định k trường đầu tiên để có thể sử dụng chỉ mục.

Vì vậy, nếu bạn muốn có thể tìm kiếm bất kỳ một trong các trường này thì bạn nên tạo trên chỉ mục trên từng trường riêng biệt (bên cạnh chỉ mục duy nhất được kết hợp)

Ngoài ra, hãy cẩn thận với toán tử LIKE.

điều này sẽ sử dụng chỉ mục SELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%'; và điều này sẽ không SELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%';

sử dụng chỉ mục http://dev.mysql.com/doc /refman/5.0/en/mysql-indexes.html chỉ mục nhiều cột http://dev.mysql. com / doc / refman / 5.0 / en / multi-column-indexes.html




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bật kết nối MySQL từ xa:LỖI 1045 (28000):Quyền truy cập bị từ chối đối với người dùng

  2. Truy vấn Mysql để xóa các bình luận Wordpress trùng lặp?

  3. Cách chèn biểu tượng cảm xúc vào MYSQL 5.5 trở lên bằng Django ORM

  4. Không thể chỉ định chỉ mục FULLTEXT trên bảng của tôi

  5. Làm cách nào để xuất cấu trúc db MySQL sang tệp Excel?