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.