Ich habe vor Kurzem meinen MySQL-Server von 5.1 auf 5.6 (läuft auf CentOS 6.x) aktualisiert. Seit dem Upgrade dauern die Abfragen WIRKLICH lange, wenn ich versuche, bestimmte Tabellenaufgaben auszuführen. Das bremst meine Iterationen im Entwicklungszyklus wirklich aus, denn wenn ein Test 1 Sekunde dauern sollte, dauert er 1-2 Minuten und das schmälert meine Produktivität wirklich.
Abfragen, die wirklich lange dauern:
- DROP und CREATE
- INSERTS danach CREATE
- KÜRZEN
Ich habe dieselbe MySQL-Version (5.6.15) auf meinem lokalen Mac installiert. Ich arbeite im Moment an 6 Tabellen und möchte diese daher häufig kürzen. Wenn ich sie auf meinem lokalen Mac kürze, dauert die Abfrage 21 ms (absolut vernünftig). Wenn ich dieselben Tabellen auf meinem CentOS-Server kürze, dauert es 8,5 SEKUNDEN. Die Tabellen sind alle InnoDB.
Ich habe es mit anderen Tabellen in derselben Datenbank auf meinem lokalen Mac im Vergleich zu meinem CentOS-Server versucht und die extreme Langsamkeit besteht bei diesen anderen Tabellen weiterhin. Also habe ich es mit einer ganz anderen Datenbank versucht und die extreme Langsamkeit besteht auch weiterhin (das Wiederherstellen einer meiner Datenbanken auf meinem lokalen Mac dauert 25 Sekunden, aber auf dem CentOS-Server dauert es 4 Minuten und 14 Sekunden).
Da die MySQL-Version dieselbe ist, dachte ich, es läge vielleicht an einem Konfigurationsunterschied. Ich habe die Abfrage „show variables;“ unter CentOS und auf dem lokalen Mac exportiert und die einzigen Unterschiede (abgesehen von Dingen wie Pfaden oder Protokolldateinamen) sind:
innodb_use_native_aio OFF // local Mac
innodb_use_native_aio ON // CentOS
lower_case_file_system ON // local Mac
lower_case_file_system OFF // CentOS
lower_case_table_names 2 // local Mac
lower_case_table_names 0 // CentOS
have_symlink YES // local Mac
have_symlink DISABLED // CentOS