MySQL - DELETE

提供:MochiuWiki : SUSE, EC, PCB
2024年11月23日 (土) 12:01時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == <br><br> == DELETE / TRUNCATEの違い == ==== DELETE ==== * レコード単位で削除するため低速である。 * 全削除でもトランザクションログを記録する。<br>ロールバック可能である。 * <u>AUTO_INCREMENTは維持する。</u> * WHERE句等で条件指定可能である。 <br> 条件付き削除やロールバックの可能性がある場合は、DELETE文を使用する。<br> <br> ==== TRUNCATE ==== * テー…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要



DELETE / TRUNCATEの違い

DELETE

  • レコード単位で削除するため低速である。
  • 全削除でもトランザクションログを記録する。
    ロールバック可能である。
  • AUTO_INCREMENTは維持する。
  • WHERE句等で条件指定可能である。


条件付き削除やロールバックの可能性がある場合は、DELETE文を使用する。

TRUNCATE

  • テーブル全体を一括で高速に削除する。
  • トランザクションログを最小限に抑える。
    ロールバック不可となる。
  • AUTO_INCREMENTを初期化する。
  • WHERE句等が使用できない。


全レコード削除が確実であることやロールバック不要な場合は、TRUNCATE文を使用する。