【MySQL】テーブルの断片化を確認・解消する方法


ここではMySQLで、テーブルの断片化を確認・解消する方法を紹介しています。

テーブルの断片化を確認する方法

テーブルの断片化は、information_schema.tablesで確認することが出来ます。

data_freeカラムを確認することで、空き領域が分かります。

SELECT
 table_name
 ,data_free
 ,table_rows
FROM
 information_schema.tables
WHERE
 table_schema = 'データベース名'
 AND table_name = 'テーブル名'
;

テーブルの断片化を解消する方法

断片化を解消するには、ALTER TABLE文を実行します。

ALTER TABLE文の基本構文は次の通りです。

ALTER TABLE テーブル名 ENGINE INNODB;