Ich verwende MySQL5.5 mit Master / Slave-Replikation (1 Master, 2 Slaves).
Ich habe einen Prozess, der einmal pro Woche ausgeführt wird und eine bestimmte Tabelle abschneidet. Die Tabelle ist nicht groß und enthält nur wenige tausend Datensätze.
Aus irgendeinem Grund TRUNCATE TABLE
dauert die Ausführung des Befehls sehr lange (sowohl auf dem Master als auch auf dem Slave). Die Ausführung dauert ca. 400K ms !! Wenn es auf dem Slave ausgeführt wird, bleibt es vom Master zurück. Nach dem TRUNCATE TABLE
Ende ist alles wieder normal.
Ich weiß, dass einer der Slaves während der Ausführung keine Lesevorgänge erhalten hat, TRUNCATE TABLE
da es sich um einen dedizierten Slave handelt und der Prozess, der von diesem Slave liest, fehlgeschlagen ist. Bei diesem Slave dauerte die Ausführung genauso lange.
Hier ist die Tabellenstruktur: http://pastebin.com/qEQB4juR
Irgendwelche Gedanken darüber, wie ich die TRUNCATE TABLE beschleunigen kann?