【SQL】テーブルのデータを全件高速に削除する方法

ここではORACLEデータベースのSQLでテーブルのデータを全件高速に削除する方法を紹介します。

今回紹介するSQL以外にも表のレコードを削除する方法は3つあります。詳しくは↓で紹介しているので参考にしてください。
>>【SQL】テーブル(TABLE)を削除(DELETE)する方法

テーブルのデータを全件高速に削除するSQL

表のレコードを全件高速に削除するには、DELETE文ではなく、TRUNCATE文を使います。

TRUNCATE文はDELETE文よりも圧倒的に高速に表のデータを全件削除することが出来ます。

TRUNCATE文の基本構文は「TRUNCATE TABLE テーブル名」です。

次のSQLでは、TABLE1という表のレコードを全て一括で削除しています。

truncate table table1;


TRUNCATE文は、DELETE文よりも高速に削除できる代わりにいくつかの制約もあります。制約については↓で紹介していますので参考にしてください。
>>【SQL】DELETE文とTRUNCATE文の違い

最後に

最後までお読みいただきありがとうございます。

もし、DELETE文が遅くて悩んでいる場合は、↓のDELETE文のチューニング方法も参考にしてください。
Delete文が遅いときのチューニング方法