MB blog

Sharing experience as a former Java developer

TRUNCATE, DROP, DELETEの違い


スポンサードリンク

DROPは、セグメント(≒表)構造ごとデータを消し去る。
TRUNCATEは、High Water Markをセグメントの頭に移動させることによる、領域(エクステント)の開放がメイン。表構造は残るが、行データ自体は消える。ROLLBACKできない。
内部的には"HWMの移動"以外の何も行っていないので、DBA_SEGMENTS表のBLOCKSもBYTESも変化なし!
DELETEは、ブロック内の行データを削除するだけ。なので、領域は開放されない。ROLLBACKできる。