ようやく挿入バッチが機能するようになり、バッチのサイズをいじっていますが、50 の値と 10000 の値の間にパフォーマンスの違いは見られません。これは非常に奇妙に思えます。裏で何が起きているか分からないので、それが正常な動作なのかもしれません。
テーブルに 16 万行を挿入していますが、テストした値の平均時間は 115 +/- 2 秒です。バッチ処理なしで 210 秒かかるので、この改善には非常に満足しています。ターゲット テーブルは次のとおりです。
CREATE TABLE [dbo].[p_DataIdeas](
[wave] [int] NOT NULL,
[idnumber] [int] NOT NULL,
[ideaID] [int] NOT NULL,
[haveSeen] [bit] NOT NULL CONSTRAINT [DF_p_DataIdeas_haveSeen] DEFAULT ((0)),
CONSTRAINT [PK_p_DataIdeas] PRIMARY KEY CLUSTERED
(
[wave] ASC,
[idnumber] ASC,
[ideaID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON
) ON [PRIMARY]
) ON [PRIMARY]
UpdateBatchSize を設定するときに何を探すべきかを読みましたが、答えはいくつかの異なる値を単純にテストすることでした。それは理解できますが、テーブルの設計、SQL の質問、および挿入しようとしているデータを知っていれば、適切な値を計算するか、少なくとも推測することは可能ではないでしょうか?
誰かが推奨できるベストプラクティスはありますか?