使用してループの中で指定した件数ずつ削除することができるようになっています。指定した件数ずつ削除していった場合でどれくらい処理時間に差がでるか気になったので試してみました。全件削除をした場合から。ページのビットマップを解除するのが一番早いですが。今回使用するテーブルのスクリプトは以下になります。追加して、非クラスタ化インデックスを設定しています。こちらのテーブルデータを挿入します。復旧モデルを単純にしてログを自動切り捨てにし、断片化を解消しています。REBUILD各削除の処理を実行する前に、チェックポイントとキャッシュのクリアしてから処理時間を計測しています。DROPCLEANBUFFERSこの状態でデータを一括削除してみます。[dbo].[Tbl1]実行にかかった時間が以下になります。件ずつ削除してみます。件ずつ削除するとかなり処理が遅くなっていますね。削除件数を増やして試してみました。今まで、件数を絞って複数回削除したほうが早いのかとなんとなく思っていたのですがそれほど差は出ないみたいです。あまりにも細かい件数で削除すると処理時間が劣化するのはわかっていたのですが。途中でトランザクションログを切り捨てるためにチェックポイントを発生させたい場合や、トランザクションのセーブポイントを作りたい場合以外は件数を絞る必要はないかもしれないですね。次は件数を絞って削除した際の比較をしてみたいと思います。チューニング等をメインにしていますが、本ブログで情報発信している内容に関することでしたら対応できます。お仕事のご相談がありましたらTwitterfacebookやブログのコメントでご連絡いただけると幸いです。ブログにコメント頂いた内容は私が承認しない限り表示されません。受賞させていただきました。本ブログの内容は個人的に検証したものとなり、検証結果を含め記載している内容を保証するものではありません。体験記の連載をさせていただきました。最後まで飲み切れず...。