Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menggunakan wildcard awalan seperti '*abc' dengan pertandingan-melawan

Pencocokan tidak berfungsi dengan karakter pengganti awal, jadi cocokkan dengan *abc* tidak akan bekerja. Anda harus menggunakan LIKE untuk mencapai ini:

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

Namun ini akan sangat lambat.

Jika Anda benar-benar perlu mencocokkan akhir string, dan Anda harus sering melakukannya saat performa mematikan Anda, solusinya adalah membuat kolom terpisah tempat Anda membalik string, jadi Anda mendapatkan:

user_login user_login_rev
xyzabc     cbazyx

Kemudian, alih-alih mencari '%abc' , Anda dapat mencari 'cba%' yang jauh lebih cepat jika kolom diindeks. Dan Anda dapat kembali menggunakan MATCH jika Anda ingin mencari 'cba*' . Anda hanya perlu membalik string pencarian juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengoptimalkan ORDER BY

  2. Berbagai Cara untuk Mengisi Pengguna MySQL

  3. Tidak dapat terhubung ke database jarak jauh menggunakan php

  4. Komit dan transaksi MySQL

  5. waktu eksekusi mysql