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

MySQL LIKE% string% không đủ tha thứ. Tôi có thể sử dụng bất cứ thứ gì khác không?

Nếu bạn đang sử dụng MyISAM, bạn có thể sử dụng lập chỉ mục toàn văn. Xem hướng dẫn này

Nếu đang sử dụng công cụ lưu trữ khác, bạn có thể sử dụng công cụ văn bản đầy đủ của bên thứ ba như sphinx, có thể hoạt động như một công cụ lưu trữ cho mysql hoặc một máy chủ riêng biệt có thể được truy vấn.

Với MySQL toàn văn lập chỉ mục một tìm kiếm trên A J Kelly sẽ khớp với AJ Kelly (không để nhầm lẫn các vấn đề nhưng A, J và AJ sẽ bị bỏ qua vì chúng quá ngắn theo mặc định và nó sẽ khớp trên Kelly.) Nói chung Fulltext dễ tha thứ hơn nhiều (và thường nhanh hơn LIKE '% string%') vì cho phép một phần các trận đấu mà sau đó có thể được xếp hạng dựa trên mức độ liên quan.

Bạn cũng có thể sử dụng SOUNDEX để làm cho các tìm kiếm dễ dàng hơn bằng cách lập chỉ mục các từ tương đương về ngữ âm và tìm kiếm chúng bằng cách áp dụng SOUNDEX trên các cụm từ tìm kiếm của bạn và sau đó sử dụng các từ đó để tìm kiếm trong chỉ mục. Với soundex mary , mariemarry chẳng hạn, tất cả sẽ khớp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham số '@myLeft' phải được xác định

  2. Tại sao truy vấn này không hoạt động trong SQLite nhưng hoạt động tốt trong MySQL và MSAccess?

  3. Giá trị auto_increment của MySQL InnoDB tăng 2 thay vì 1. Virus?

  4. Cách cài đặt MySQL 8 mới nhất trên Debian 10

  5. Hiển thị bản ghi từ cơ sở dữ liệu MySQL bằng JTable trong Java