PDF (US Ltr)
- 26.8Mb
PDF (A4)
- 26.8Mb
HTML Download (TGZ)
- 7.2Mb
HTML Download (Zip)
- 7.2Mb
InnoDB
テーブルを切り捨てるときにオペレーティングシステムのディスク領域を再利用するには、そのテーブルが独自の .ibd ファイルに格納されている必要があります。独自の .ibd ファイルに格納されるテーブルの場合は、そのテーブルを作成するときに innodb_file_per_table
を有効にする必要があります。さらに、切り捨てられるテーブルとその他のテーブルの間に外部キー制約が存在していてはいけません。そうしないと、TRUNCATE TABLE
操作は失敗します。ただし、同じテーブル内の 2 つのカラム間の外部キー制約は許可されます。
テーブルが切り捨てられると、そのテーブルが削除されて新しい .ibd
ファイル内に再作成され、解放された領域はオペレーティングシステムに返されます。これは、InnoDB
システムテーブルスペース内に格納されている InnoDB
テーブル (innodb_file_per_table=OFF
のときに作成されるテーブル) の切り捨てとは対照的です。この場合は、そのテーブルが切り捨てられたあと、解放された領域は InnoDB
しか使用できません。
テーブルを切り捨て、そのディスク領域をオペレーティングシステムに返す機能はまた、物理バックアップを小さくすることもできます。システムテーブルスペースに格納されているテーブル (innodb_file_per_table=OFF
のときに作成されるテーブル) の切り詰めでは、未使用領域のブロックがシステムテーブルスペース内に残されます。