SELECT MIN(b), MAX(b) FROM tbl WHERE a = 12;
cinta
INDEX(a, b)
kedua kolom, dalam urutan itu.
Kueri terlihat dalam indeks untuk a = 12
, ambil (a,b)
pertama pasangkan untuk mendapatkan MIN(b)
dan ambil pasangan terakhir untuk mendapatkan MAX(b)
.
Pernyataan tentang "mengganti dengan konstanta" membingungkan karena terlalu jauh ke detail tentang bagaimana pertama kali mengetahui cara melakukan kueri (yang kebetulan mendapatkan min dan maks), kemudian melanjutkan untuk mengeksekusi apa yang tersisa dari kueri (tidak ada yang tersisa).
Secara umum, indeks optimal biasanya yang dimulai dengan semua WHERE
kolom dibandingkan dengan konstanta dengan =
. Setelah itu menjadi rumit, jadi izinkan saya memberikan tip lain:
Indeks "penutup" adalah indeks yang memiliki semua kolom yang disebutkan dalam SELECT
(a
dan b
dalam contoh saya).
Maaf, sepertinya saya tidak lebih jelas dari manualnya.