森川敬一 CTO ブログ

unimediaでCTOやってます森川敬一です。エンジニアブログ。IoT、ウエアブルとか書いていきます。

mysqlの断片化対策

大量のデータの再作成処理を行う様な場合には、mysqlのtableやindexが断片化されて
パフォーマンス劣化が起きます。

mysqlの断片化された時には、

ALTER TABLE tbl1 ENGINE InnoDB;

で解消される。

ちなみに断片化されたかどうかは、

mysql> show table status like 'tbl1';
Rows | Avg_row_length | Data_length
37158577 | 4831 | 179544539136

1 row in set (0.04 sec)

mysql>

37158577x4831
(Rows) x Avg_row_length
=179,544,539,136

とData_lengthを比較する。

179,544,539,136=179,513,085,487
ほぼ一緒なので断片化が解消された。