1. ホーム
  2. sql

[解決済み] drop tableとtruncate tableの違い?

2023-06-17 08:16:02

質問

私は、レポートのロールアップの一部として構築したいくつかのテーブルを持っています。私はその後、それらをまったく必要としません。誰かが、それがより速くなるようにそれらを切り捨てることに言及しました。

どのように解決するのですか?

テーブルからレコードを削除すると、削除ごとにログが記録され、削除されたレコードの削除トリガーが実行されます。Truncate は、各行をログに記録することなくテーブルを空にする、より強力なコマンドです。SQL Server では、各行で外部キーをチェックする必要があるため、外部キーが参照されているテーブルを切り捨てることはできません。

Truncateは通常超高速で、一時的なテーブルからデータを一掃するのに理想的です。将来の使用のためにテーブルの構造は保持されます。

実際にテーブルを削除したい場合 定義 を削除したい場合は、単にテーブルを削除してください。

参照 このMSDN記事 をご覧ください。