Sto cercando di determinare da dove l'ottimizzatore MySQL ottiene l'elenco di indici disponibili per una tabella quando stima il costo di (prepara) una query.
ANALYZE TABLE
determina la cardinalità dell'indice (come visualizzato nella colonna Cardinalità SHOW INDEX
dell'output) effettuando otto immersioni casuali per ciascuna degli alberi indice e di conseguenza aggiornare le stime della cardinalità dell'indice. Poiché si tratta solo di stime, ripetute esecuzioni di TABELLA ANALISI possono produrre numeri diversi. Questo rende ANALYZE TABLE
veloce sulle tabelle InnoDB ma non è preciso al 100% perché non tiene conto di tutte le righe.