The world's most popular open source database
MySQL
では複数のパーティショニングメンテナンスタスクを行うことができます。5.1.MySQLでは
CHECK TABLE、OPTIMIZE
TABLE、ANALYZE TABLE、そして
REPAIR
TABLEのようなコマンドをパーティションドテーブル用にサポートされてはいません。
代わりに、MySQL5.1.5で実装された ALTER
TABLE
の拡張子のいくつかを使用することができます。これらはこのような種類のオペレーションを直接1つ、もしくは複数の分割に実行するのに使用できます。以下のリストを参照してください。
REBUILD PARTITION分割を再構築します。分割に記憶されているレコードを削除し、再度挿入するのと同じ効果があります。これはデフラグメンテーションのために有効に使えます。
例:
ALTER TABLE t1 REBUILD PARTITION p0, p1;
OPTIMIZE PARTITIONもし分割から多くの行を削除もしくは異なる長さの行を含む分割テーブルに変更を加えた場合、(つまり、VARCHAR、BLOB、またはTEXTカラムを含む)ALTER
TABLE ...OPTIMIZE
PARTITIONを使用して分割データファイルをデフラグメント、そして使用されていないスペースを再確保できます。
例:
ALTER TABLE t1 OPTIMIZE PARTITION p0, p1;
OPTIMIZE PARTITION
をある分割で使用することは CHECK
PARTITION、ANALYZE
PARTITION、そして REPAIR
PARTITION
をそのパーティションで作動させることと同義です。
ANALYZE PARTITION:これは分割のキー割り振りを読み込み・記憶します。
例:
ALTER TABLE t1 ANALYZE PARTITION p3;
REPAIR PARTITIONこれは破壊された分割を修復します。
例:
ALTER TABLE t1 REPAIR PARTITION p0,p1;
CHECK PARTITIONCHECK
TABLE
を分割されていないテーブルでチェックのため使用できるように、パーティションのエラーをチェックすることができます。
例:
ALTER TABLE trb3 CHECK PARTITION p1;
このコマンドはテーブル t1
のデータやインデックスが p1
破壊されているかを知らせます。この場合、ALTER
TABLE ...REPAIR
PARTITIONを使用して分割を修復することができます。
mysqlcheck や myisamchk
ユーティリティを使用してこれらのタスクを達成することができます。これらは、テーブルを分割することによって別々の
.MYI
ファイルに生成されています。項7.11. 「mysqlcheck — テーブル メンテナンスと修復プログラム」
を参照してください。

