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ß?