データベース - SQL 構文 - DELETE・DROP より TRUNCATE

 クラウディア
1. 概要
2. 構文

1. 概要

 わたしは、データベースに関しては、一応、扱えるものの、プロといえるほどの知識はないわけで。  そおいえば、聞いたことがあるような気がする「TRUNCATE」。  テーブルのデータを全件削除する場合。  ぱっと思いつくのが、「DELETE」。  「DELETE」に時間がかかる場合は、「DROP TABLE」して「CREATE TABLE」する手もあるなぁってのが素人の考えだった。  この場合は、「TRUNCATE」というのを使うのが、効率が良いそうなのです。  本ページは、下記のサイトを参考にさせていただきました。
TRUNCATE TABLE

2. 構文

 下記、一発です。

TRUNCATE TABLE テーブル名;
 「DB2」「PostgreSQL」でやってみました。  大量にあるテーブルを「DELETE」で全件削除するよりは、確かに速い。  「DROP TABLE」「CREATE TABLE」の手間を考えても、こちらの方が断然よいです。  「Oracle」には、ドキュメントがあるので、使用できるはずですが、試してはいません。