MySQL5.5をマスター/スレーブレプリケーション(1マスター、2スレーブ)で実行しています。
週に1回実行して特定のテーブルを切り捨てるプロセスがあります。テーブルは大きくなく、数千のレコードしかありません。
何らかの理由で、TRUNCATE TABLE
コマンドの実行に非常に長い時間がかかります(マスターとスレーブの両方で)。実行には約400Kミリ秒かかります!! スレーブで実行すると、マスターから遅れます。終了後TRUNCATE TABLE
、すべてが正常に戻ります。
スレーブの1つはTRUNCATE TABLE
専用スレーブであり、そのスレーブから読み取るプロセスがダウンしていたため、実行中に読み取りを受信しなかったことがわかっています。また、このスレーブでは、実行に同じ時間がかかりました。
これがテーブル構造です:http : //pastebin.com/qEQB4juR
TRUNCATE TABLEをどのように高速化できるかについての考えはありますか?