Dokumentasi MySQL melakukan pekerjaan yang baik untuk menjelaskan cara kerja indeks multi-kolom di sini .
Secara umum, indeks dapat digunakan untuk where
klausa ketika sejumlah kolom di paling kiri sisi indeks memiliki kondisi kesetaraan. where
Your Anda klausa menggunakan kolom berikut:
- c1, c2
- c1, c2, c3, c4
- c1, c2
- c1, c2, c5
Setiap indeks yang dimulai dengan kolom c1
dan c2
biasanya akan digunakan untuk kueri ini. MySQL dapat menerapkan kondisi lain untuk menggunakan indeks, seperti selektivitas. Artinya, jika c1
dan c2
memiliki nilai konstan (misalnya) maka menggunakan indeks tidak akan menguntungkan kueri.
Untuk mengoptimalkan semua kombinasi ini, Anda dapat membuat dua indeks:c1, c2, c3, c4
dan c2, c1, c5
. Alasan untuk menukar c1
dan c2
di indeks kedua adalah agar Anda bisa menangani kueri yang kondisinya pada c2
tapi bukan c1
, serta sebaliknya.