端くれプログラマの備忘録 MySQL [MySQL] 大容量のテーブルを削除すると、ストレージが解放されるか?

[MySQL] 大容量のテーブルを削除すると、ストレージが解放されるか?

MySQLで大容量のテーブルを削除すると、テーブル自体のデータは削除されますが、MySQLが使用しているストレージ容量が即座に解放されるとは限りません。これは主にストレージエンジンによって異なります。

  • InnoDB ストレージエンジンの場合、削除されたデータの領域は即座にOSに返されるわけではなく、通常はInnoDBのテーブルスペースとして保持されます。この領域は新しいデータに再利用される可能性があります。ただし、ストレージを物理的に解放するために、OPTIMIZE TABLE コマンドを使用することで一部のストレージを回収できることがあります。
  • MyISAM ストレージエンジンでは、削除後にディスク領域が解放される場合がありますが、ファイルサイズが変わらないこともあります。

ストレージの解放が重要な場合、InnoDBで利用するファイルの設定やテーブルの再構築などが必要になることがありますので、用途に合わせて管理を検討してください。