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

Warum erzeugt dieselbe exakte Abfrage zwei unterschiedliche MySQL-Explain-Ergebnisse?

F Warum erzeugt dieselbe exakte Abfrage zwei unterschiedliche MySQL-Explain-Ergebnisse?

A Denn irgendetwas ist anders. Wenn nicht in der Abfrage, dann zwischen den beiden Tabellen oder Datenbankinstanzen.

All dies sollte überprüft werden, um den Unterschied zu finden:

  • Laufen sie auf derselben Version von MySQL (SHOW VARIABLES LIKE '%version%' )
  • Führen die Instanzen denselben Zeichensatz aus (SHOW [GLOBAL] VARIABLES LIKE 'character_set%' )
  • Verwenden die Tabellenspalten denselben Zeichensatz (SHOW CREATE TABLE )
  • Verwenden beide Tabellen dieselbe Speicher-Engine? (SHOW CREATE TABLE )
  • Wenn der Primärschlüssel ein zusammengesetzter Schlüssel ist, sind die Spalten in der gleichen Reihenfolge (SHOW CREATE TABLE )
  • Sind die Statistiken aktuell und genau?
  • Ist eine der Tabellen aufgrund vieler Einfüge-, Aktualisierungs- und Löschaktivitäten fragmentiert?
  • Ist der MyISAM-Schlüsselcache oder die InnoDB-Puffer auf beiden Servern gleich groß?