Mysql
 sql >> Database >  >> RDS >> Mysql

Perché il comando "spiega" produce risultati diversi sulla stessa istruzione SQL?

Cordiali saluti, si scopre che durante la migrazione del database, ci sono alcune statistiche utilizzate dall'ottimizzatore del motore per decidere la strategia migliore per es. join tabelle, che apparentemente non è stato copiato.

La soluzione è eseguire ANALYZE su ciascuna delle tabelle per "ricostruire" tali informazioni. Quindi, dopo aver eseguito l'ANALISI su ciascuna tabella, ed eseguire explain comando di nuovo, l'output è d'accordo e la velocità della query aumenta notevolmente.