TRUNCATEとDELETEの違い

テーブルのデータを削除する方法として「DELETE」コマンドと「TRUNCATE TABLE」コマンドの2つがあります。
両者を使用する場合、どのような用途で使用するべきか違いについてまとめておきます。

DELETE文

  • DELETEはTABLEのレコードを行単位で削除する事も可能。
  • DELETEはデータ削除のみ実施するだけでで「AUTO_INCREMENT」の値は初期化しません。
  • DELETE後にROLLBACK可能

TRUNCATE文

  • TRUNCATEはTABLEをDROP後にCREATEする為、行単位での削除は不可能。
  • TRUNCATEは「AUTO_INCREMENT」が設定されている場合は値が初期化されます。
  • TRUNCATE後にROLLBACKは不可能。
  • DELETEより高速。

コメントを残す

メールアドレスが公開されることはありません。

email confirm*

post date*