Date: Mon, 8 May 2006 10:30:18 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、おはようございます
下記のようなご質問がありましたので、お答えします。
---------------------質問内容--------------------
15万件ほどのトランザクションの削除を行うと時間切れになってしまい、
1件も削除されません。
SQL文は単純なもので 「Delete From テーブル名」といった感じで
条件等は指定せず、全件が対象です。
何が原因でしょうか?
---------------------ここまで----------------------
Books Onlineにも解説がありますが、delete命令は、削除対象になる
レコード1件1件の情報を、トランザクションログに記録します。
このためレコード削除に要するコストが高くなります。
テーブルの全件レコード削除を行なう場合は、truncate table 命令が
あります。
truncate table命令は、レコードの割り当てページに関する情報を
トランザクションログに記録するため、delete命令に比べて処理が
速くなります
テーブルの全レコード削除の場合は、truncate table命令を使って下さい
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
05月08日(月曜日) 10時27分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|