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

Cách sử dụng các ký tự đại diện tiền tố như '* abc' với đối sánh

Đối sánh không hoạt động với các ký tự đại diện bắt đầu, vì vậy đối sánh với *abc* sẽ không hoạt động. Bạn sẽ phải sử dụng LIKE để đạt được điều này:

SELECT * FROM user WHERE user_login LIKE '%abc';

Tuy nhiên, điều này sẽ rất chậm.

Nếu bạn thực sự cần phải đối sánh với phần cuối của chuỗi và bạn phải làm điều này thường xuyên trong khi hiệu suất đang giết bạn, giải pháp sẽ là tạo một cột riêng biệt trong đó bạn đảo ngược các chuỗi, vì vậy bạn có:

user_login user_login_rev
xyzabc     cbazyx

Sau đó, thay vì tìm kiếm '%abc' , bạn có thể tìm 'cba%' nhanh hơn nhiều nếu cột được lập chỉ mục. Và bạn có thể sử dụng MATCH một lần nữa nếu bạn muốn tìm kiếm 'cba*' . Bạn cũng sẽ phải đảo ngược chuỗi tìm kiếm.



  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ập nhật câu lệnh trong MySQL bằng C #

  2. Làm cách nào để kiểm tra ví dụ chèn MySQL PHP của tôi?

  3. Cách sử dụng JDBC để kết nối cơ sở dữ liệu MySql

  4. Chuyển từ MySQL sang PostgreSQL - Điều bạn nên biết

  5. Truy vấn tham gia Mysql