• 締切済み

DELETEとTRUNCATEの違い

SQL文で、DELETEとTRUNCATEはどのように違いがあるのでしょうか??

みんなの回答

回答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が生成されるかされないか(ロールバック出来るか出来ないか) など。

関連するQ&A