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

Beberapa indeks MySQL vs indeks multi-kolom untuk pencarian

Anda harus memahami di MySQL (dalam kasus InnoDB) hanya menggunakan awalan paling kiri dari indeks Anda. Jadi jika indeks ada di Bidang1 + Bidang2, kueri hanya dengan Bidang2 di WHERE tidak dapat menggunakan seluruh indeks.

Dan jika Field1 + Field2 + Field3 adalah indeks, kueri dengan hanya Field1 & Field3 di DI MANA hal yang sama akan terjadi.

Opsi 1

Anda harus membuat indeks terpisah untuk setiap skenario pencarian jika Anda ingin mengoptimalkan setiap pencarian. Namun, jika tabelnya besar, maka indeksnya juga akan menjadi sangat besar. Jika kueri penelusuran tersebut dibuat sangat sering, ini akan sangat berharga.

Opsi 2

Anda dapat menggunakan trik yang bagus jika penelusuran Anda memiliki selektivitas rendah (yaitu Gender) dengan meletakkan kolom selektivitas rendah paling kiri dan gunakan Gender IN(M, F) untuk memasukkannya ke WHERE klausa bersama dengan kolom lainnya untuk menggunakan seluruh indeks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan subkategori wordpress saja

  2. Mengirim Pemberitahuan Firesbase ke Banyak Pengguna

  3. Express.js dan model MySQL + validasi

  4. Masalah dengan MySQL untuk Visual Studio / Visual Studio 2017 Datasource Wizard. Referensi objek tidak disetel ke instance objek

  5. Bagaimana cara mengimpor file CSV besar dengan 200,00 baris ke MySQL (asinkron dan cepat)?