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

Apa itu indeks teks lengkap dan kapan saya harus menggunakannya?

Dalam database, indeks biasanya digunakan untuk meningkatkan kinerja saat mencari sesuatu yang ditentukan dalam klausa where Anda. Namun ketika harus memfilter beberapa teks, mis. menggunakan sesuatu seperti WHERE TextColumn LIKE '%searchstring%' kemudian pencarian menjadi lambat, karena cara kerja indeks basis data biasa dioptimalkan untuk kecocokan dengan 'seluruh konten' kolom dan bukan hanya sebagian saja. Khususnya pencarian LIKE yang menyertakan wildcard tidak dapat menggunakan jenis indeks apa pun.

Seperti disebutkan dalam komentar di bawah MySQL membutuhkan MATCH () ... AGAINST sintaks untuk mencari dalam indeks teks lengkap; BTW ini bervariasi tergantung pada vendor database. Di MS SQL Anda dapat menggunakan CONTAINS jadi ingatlah ini ketika Anda berencana untuk mendukung database lain juga.

Indeks teks lengkap berfungsi lebih baik untuk teks biasa, karena dioptimalkan untuk jenis kolom ini. Sangat disederhanakan:Mereka membagi teks menjadi kata-kata dan membuat indeks di atas kata-kata dan bukan keseluruhan teks. Ini bekerja jauh lebih cepat untuk pencarian teks ketika mencari kata-kata tertentu.



  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 bekerja dengan kueri rekursif di MySql?

  2. Memuat kelas com.mysql.jdbc.Driver ... adalah pesan yang tidak digunakan lagi

  3. Mengakses Database MySQL dari Proyek VB.NET 2008 saya

  4. Cara mengatur batas waktu koneksi tergantung dari login pengguna di MySQL

  5. Cara Mengekspor Database Menggunakan phpMyAdmin