Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi la commande "expliquer" donne-t-elle des résultats différents sur la même instruction SQL ?

Pour votre information, il s'avère que lors de la migration de la base de données, certaines statistiques sont utilisées par l'optimiseur de moteur pour décider de la meilleure stratégie, par exemple. joindre des tables, qui n'a apparemment pas été copié.

La solution consiste à exécuter ANALYZE sur chacune des tables pour "reconstruire" ces informations. Donc, après avoir fait l'ANALYSE à chacune des tables, et exécutez le explain commande à nouveau, la sortie est d'accord et la vitesse de requête augmente considérablement.