J'essaie de déterminer d'où l'optimiseur MySQL obtient la liste des index disponibles pour une table lorsqu'il estime le coût de (prépare) une requête.
ANALYZE TABLEdétermine l' indice cardinalité (comme indiqué dans la colonne Cardinalité de SHOW INDEXsortie) en faisant huit plongées au hasard à chaque des arbres d'index et la mise à jour des estimations de cardinalité d'index en conséquence. Étant donné qu'il ne s'agit que d'estimations, des exécutions répétées de ANALYZE TABLE peuvent produire des nombres différents. Cela rend ANALYZE TABLErapide les tables InnoDB mais pas précis à 100% car il ne prend pas en compte toutes les lignes.