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

Aksen permintaan pencarian yang tidak sensitif di MySQL

Anda dapat mengubah susunan saat runtime di kueri sql,

...where title like '%torun%' collate utf8_general_ci

tetapi berhati-hatilah karena mengubah susunan dengan cepat saat runtime menghilangkan kemungkinan mysql menggunakan indeks, sehingga kinerja pada tabel besar mungkin buruk.

Atau, Anda dapat menyalin kolom ke kolom lain, seperti searchable_title , tetapi ubah susunan di atasnya. Sebenarnya umum untuk melakukan hal semacam ini, di mana Anda menyalin data tetapi memilikinya dalam beberapa bentuk yang sedikit berbeda yang dioptimalkan untuk beberapa beban kerja/tujuan tertentu. Anda dapat menggunakan pemicu sebagai cara yang bagus untuk menjaga agar kolom yang digandakan tetap sinkron. Metode ini berpotensi berkinerja baik, jika diindeks.

Catatan - Pastikan db Anda benar-benar memiliki karakter tersebut dan bukan entitas html. Juga, rangkaian karakter koneksi Anda penting. Di atas mengasumsikan itu disetel ke utf8, misalnya, melalui set nama seperti set names utf8

Jika tidak, Anda memerlukan pengenal untuk nilai literal

...where title like _utf8'%torun%' collate utf8_general_ci

dan tentu saja, nilai dalam tanda kutip tunggal harus benar-benar dikodekan utf8, bahkan jika kueri sql lainnya tidak.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mencocokkan satu karakter di MySQL sebagai ganti %?

  2. Perancangan Basis Data Untuk Mengembangkan Aplikasi Web 'Kuis' menggunakan PHP dan MySQL

  3. Bagaimana cara terhubung ke Database MySQL dari Aplikasi Android?

  4. MySQL:Tidak dapat memberi nama tabel dalam Kasus Unta Atas (Kasus Pascal)

  5. Cara membuat dan memelihara Database MySQL di cPanel