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

optimalkan tabel untuk pencarian menggunakan klausa LIKE di MySQL

Anda sebaiknya menggunakan indeks teks lengkap (Anda bilang tidak bisa), merancang pencarian teks lengkap sendiri atau membongkar pencarian dari MySQL dan menggunakan Sphinx/Lucene. Untuk Lucene Anda dapat menggunakan implementasi Zend_Search_Lucene dari Zend Framework atau menggunakan Solr.

Indeks normal di MySQL adalah B+Trees, dan tidak dapat digunakan jika awal string tidak diketahui (dan ini terjadi ketika Anda memiliki wildcard di awal)

Pilihan lain adalah menerapkan pencarian Anda sendiri, menggunakan tabel referensi. Pisahkan teks dalam kata-kata dan buat tabel yang berisi kata, record_id. Kemudian dalam pencarian Anda membagi kueri dalam kata-kata dan mencari setiap kata dalam tabel referensi. Dengan cara ini Anda tidak membatasi diri Anda pada awal keseluruhan teks, tetapi hanya pada awal kata yang diberikan (dan Anda tetap akan mencocokkan kata-kata lainnya)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menghubungkan server MySQL ke NetBeans

  2. Mendapatkan argumen yang diberikan bukanlah sumber daya hasil MySQL yang valid saat memanggil mysql_fetch_array()

  3. Apa DBMS terbaik untuk pekerjaan itu?

  4. Mengkueri Kumpulan Data Besar saat Bergabung (15+ juta baris)

  5. Perbarui data basis data dengan tombol kirim