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

Bagaimana cara mempercepat SELECT .. LIKE query di MySQL pada banyak kolom?

Indeks tidak akan mempercepat kueri, karena untuk kolom tekstual, indeks bekerja dengan mengindeks N karakter mulai dari kiri. Ketika Anda melakukan LIKE '%text%' itu tidak dapat menggunakan indeks karena mungkin ada sejumlah variabel karakter sebelum teks.

Yang seharusnya Anda lakukan adalah tidak menggunakan kueri seperti itu sama sekali. Sebagai gantinya, Anda harus menggunakan sesuatu seperti FTS (Pencarian Teks Lengkap) yang didukung MySQL untuk tabel MyISAM. Ini juga cukup mudah untuk membuat sistem pengindeksan sendiri untuk tabel non-MyISAM, Anda hanya perlu tabel indeks terpisah tempat Anda menyimpan kata dan ID yang relevan di tabel yang sebenarnya.

Perbarui

Pencarian teks lengkap tersedia untuk tabel InnoDB dengan 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. PERIKSA batasan di MySQL tidak berfungsi

  2. Di PHP dengan PDO, bagaimana cara memeriksa kueri parametris SQL akhir?

  3. Bagaimana cara menambahkan referensi ke konektor MySQL untuk .NET?

  4. Bagaimana cara mengubah seluruh characterset dan collation database MySQL ke UTF-8?

  5. Cara Mendapatkan Catatan Pertama di Setiap Grup di MySQL