もう使われなくなったデータやメタデータを自動で片付けて、ストレージや性能を維持する仕組み」 のこと
DBは更新・削除のたびに 内部的に古いバージョンの行や不要領域が溜まる から。
例:
行を UPDATE すると、元のバージョンを残したまま新バージョンを作る(MVCC)
DELETE すると、論理削除だけで物理データはそのまま残る
トランザクションが参照するため古いバージョンが一定期間必要
こうした “使わなくなったゴミ” を放置すると、
ストレージ肥大
スキャンが遅くなる
インデックスが巨大化
などの悪影響が出る。
だからGCが必要