Saya mencoba untuk menentukan dari mana pengoptimal MySQL mendapatkan daftar indeks yang tersedia untuk sebuah tabel ketika memperkirakan biaya (menyiapkan) kueri dari.
ANALYZE TABLE
menentukan kardinalitas indeks (seperti yang ditampilkan di kolom kardinalitas SHOW INDEX
keluaran) dengan melakukan delapan penyelaman acak untuk masing-masing dari pohon indeks dan memperbarui perkiraan kardinalitas indeks yang sesuai. Karena ini hanya perkiraan, proses ANALYZE TABLE yang berulang dapat menghasilkan angka yang berbeda. Ini membuat ANALYZE TABLE
cepat pada tabel InnoDB tetapi tidak 100% akurat karena tidak memperhitungkan semua baris.