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

Làm thế nào để tăng tốc truy vấn SELECT .. LIKE trong MySQL trên nhiều cột?

Một chỉ mục sẽ không tăng tốc truy vấn, vì đối với các cột văn bản, chỉ mục hoạt động bằng cách lập chỉ mục N ký tự bắt đầu từ bên trái. Khi bạn LIKE '% text%', nó không thể sử dụng chỉ mục vì có thể có một số ký tự thay đổi trước văn bản.

Điều bạn nên làm là hoàn toàn không sử dụng một truy vấn như vậy. Thay vào đó, bạn nên sử dụng một cái gì đó như FTS (Full Text Search) mà MySQL hỗ trợ cho các bảng MyISAM. Cũng khá dễ dàng để tự tạo hệ thống lập chỉ mục như vậy cho các bảng không phải MyISAM, bạn chỉ cần một bảng chỉ mục riêng để lưu trữ các từ và ID có liên quan của chúng trong bảng thực tế.

Cập nhật

Tìm kiếm toàn văn có sẵn cho các bảng InnoDB với MySQL 5.6+.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đảm bảo cơ sở dữ liệu MySQL của bạn được bảo mật

  2. Làm cách nào để kích hoạt nhật ký truy vấn chậm của MySQL mà không cần khởi động lại MySQL?

  3. Khắc phục “LỖI 1136 (21S01):Số cột không khớp với số giá trị ở hàng 1” khi Chèn dữ liệu trong MySQL

  4. PHP:Cảnh báo:sort () yêu cầu tham số 1 là mảng, tài nguyên đã cho

  5. Hàm MySQL CEILING () - Làm tròn đến số nguyên gần nhất