Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum liefert der Befehl „Explain“ unterschiedliche Ergebnisse für dieselbe SQL-Anweisung?

Zu Ihrer Information, es stellt sich heraus, dass beim Migrieren der Datenbank einige Statistiken für den Engine-Optimierer verwendet werden, um die beste Strategie zu bestimmen, um z. Join-Tabellen, die anscheinend nicht kopiert wurden.

Die Lösung besteht darin, ANALYZE auszuführen auf jeder der Tabellen, um solche Informationen "wieder aufzubauen". Nachdem Sie also die ANALYZE für jede Tabelle durchgeführt haben, führen Sie explain aus Befehl erneut, stimmt die Ausgabe und die Abfragegeschwindigkeit steigt dramatisch an.