
お世話になります
SQL Serverで、
100万件のレコードを削除したいのですが
どのような方法が効率よいでしょうか
また、メモリ負荷など、クライアント側から分かるような実行計画とかは
ありませんでしょうか?
1.100万件を1回でdelete
2.100万件を複数回に分けてdelete
3.100万件を1行ずつキー指定でdelete(deleteを100万回実行)
100万件deleteしてる場合も、他処理でレコードが登録、更新される可能性が高いため、
そちらの処理がタイムアウトなどのエラーにならないようにしたいです
詳しい方に聞いたところ、
delete発行する際に、メモリにアクセスしてるので、
3だとそれが単純計算で100万倍になるので、負荷が高いのでは?
という事でした。
ご教授の程、よろしくお願い致します
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
もちろん、1回で実行した方が効率は良いです。
処理の1回毎にSQL構文解析→実行計画→実行という動作を行いますし、その都度にメモリやHDDもアクセスすることはあります。できるだけ処理は少ない方が良いです。
>100万件deleteしてる場合も、他処理でレコードが登録、更新される可能性が高いため、
ファントムリードにならないようにきっちりと専有ロックをかけた方が良いです。
で、他処理にはある程度の時間的余裕をもたせられるとベストなのですが。
まあ、その100万件の主キーが何でインデックスがどれくらいあって制約がどのように作られているか、項目数がいくつなのかもわからないので一般論です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- 確定申告 所得税 延滞金 3 2022/09/20 12:23
- その他(資産運用・投資) 年利回りの計算方法について 5 2023/01/03 19:38
- 医療費 後期高齢者医療負担について 4 2023/01/22 17:25
- 投資・株式の税金 サラリーマン投資家(海外FX)の節税目的のマイクロ法人設立について 2 2022/09/19 18:37
- その他(Microsoft Office) エクセルソートと抽出について 3 2022/10/22 22:09
- 減税・節税 75歳以上後期高齢者医療負担について 6 2023/03/22 20:14
- 自動車ローン・自動車保険・車両保険 車の残価設定ローンの金利手数料について教えてください 5 2023/03/15 22:36
- 不動産投資・投資信託 投資信託 信託報酬について 4 2022/11/13 13:06
- ふるさと納税 《ふるさと納税について質問です》 6 2022/08/26 15:09
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザー定義関数内でのsp_exec...
-
Excel-VBAの「しばらくお待ちく...
-
DTexec でSSISパッケージを実行...
-
同じSQL文で速度がだいぶ違う
-
IDENTITY列を持つテーブルへBCP...
-
【Oracle】ADOでSELECT * FROM ...
-
sqlcmdでクエリの実行結果をバ...
-
VBAからMySQLにコマンドファイ...
-
下記の問合せを行うクエリを、P...
-
下記の問合せを行うクエリを、P...
-
「最高気温が35度以上の日を猛...
-
100万件レコードdelete
-
HTTPメソッドについて教えて下さい
-
SQLServerのジョブからバッチを...
-
SQLServer2005のストプロでxp_c...
-
ストアドの速度がクエリの30...
-
バッチでのSQL実行結果の分岐処...
-
SQLサーバー接続 特定のPCがWin...
-
SQLのエラー(~付近に不適切な...
-
(SQLSERVER) 別サーバーへテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
SQLCMDにて教えていただきたい...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
バッチでのSQL実行結果の分岐処...
-
ストアドの速度がクエリの30...
-
SQLServerのジョブからバッチを...
-
SQLServer2005のストプロでxp_c...
-
100万件レコードdelete
-
Excelフィルタ抽出で「検索して...
-
同じSQL文で速度がだいぶ違う
-
SQLサーバーのジョブでのexeフ...
-
ユーザー定義関数内でのsp_exec...
-
SQL-Loaderが動かないです。
-
sqlcmdでクエリの実行結果をバ...
-
データベース SQL のセッショ...
-
バッチからメンテナンスプラン...
-
アクションクエリが実行できない
-
オラクルインストールユーザ以...
-
xp_cmdshellについて
-
【Oracle】ADOでSELECT * FROM ...
おすすめ情報