Próbuję ustalić, skąd optymalizator MySQL uzyskuje listę indeksów, które są dostępne dla tabeli, gdy szacuje koszt (przygotowania) zapytania.
ANALYZE TABLE
określa liczność indeksu (wyświetlaną w kolumnie danych SHOW INDEX
wyjściowych Kardynalność ), wykonując osiem losowych nurkowań dla każdego drzew indeksów i odpowiednio aktualizując oszacowania liczności indeksów. Ponieważ są to tylko dane szacunkowe, powtarzane przebiegi tabeli ANALIZA mogą dawać różne liczby. Dzięki temu ANALYZE TABLE
tabele InnoDB są szybkie, ale nie są w 100% dokładne, ponieważ nie uwzględniają wszystkich wierszy.