テーブル定義がSQL Serverの行挿入速度にどのように影響するかをベンチマークしたい場合は、トランザクションをBEGINからCOMMITに渡すだけでは不十分だと思います。これは、INSERTを(順次)ログに追加する時間を測定します。右?INSERTをベンチマークする最良の方法 - すべてを含む?
実際のINSERTが実際のテーブル(INSERTの後で少し再構成されるかもしれないクラスタ化されたインデックス)に実際に適用されるとき、実際のI/Oヒットが発生します。使用された時間の合計はどのように測定できますか?つまり、(ログに書き込まれる)すべてのINSERTの時間+「実際の」データ構造を更新するために使用される時間?タイマーを停止する前に "CHECKPOINT"を実行すれば十分ですか?あなたが一度にバッファプールで汚れている正確にどのように多くのページを見つけることができます下のクエリを使用して :
+1よく知っています。 –
しかし、これは人為的に低い数値なので、ファラルシーです。長時間の挿入/更新が頻繁に行われない限り、チェックポイントは通常データベースをあまり遅くしません。あなたのテストよりもはるかに少ない。 – TomTom