- 締切済み
DELETEとTRUNCATEの違い
SQL文で、DELETEとTRUNCATEはどのように違いがあるのでしょうか??
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- montage_go
- ベストアンサー率0% (0/2)
回答No.2
表立った特徴はこんな感じでしょうか? TRUNCATE ・全件対象で削除。 ・ROLLBACKにて処理の取り消しが不可能。 ・DELETE文より高速。 DELETE ・WHERE文にて条件を記述し、一部のレコードのみ削除が可能。 ・ROLLBACKにて処理の取り消しが可能。 ・TRUNCATEより時間がかかる。
- chie65536
- ベストアンサー率41% (2512/6032)
回答No.1
Oracleカテなので、実行環境をOracleと仮定。 http://www.shift-the-oracle.com/inside/delete-truncate-difference.html 大きな違いは ・WHERE句で対象レコード条件を付けれるか付けれないか(TRUNCATEは常に全レコードが対象になるが、DELETEは特定のレコードのみ消す事も可能) ・実行可能な権限が違う ・UNDOが生成されるかされないか(ロールバック出来るか出来ないか) など。