9

全体的なパフォーマンス プロジェクトの一環として、ファクト テーブルの読み込みを高速化しようとしています。テーブルは約 1 億 2000 万行で、毎晩約 10 万行が追加されます。テーブルにはかなりのインデックスが作成されています。

現在、SSIS Fast Load OLE DB 宛先を使用しており、100,000 行の読み込みに約 15 分かかります。これは 10 万行を挿入するには非常に高いように思えたので、パッケージを変更して結果をステージング テーブルにダンプし、そのステージング テーブルからファクト テーブルに T-SQL を挿入しました。挿入は 1 分未満で実行されるようになりました。

単純な古い T-SQL 挿入が SSIS Fast Load よりも高速であるというのは非常に奇妙に思えたので、OLEDB 変換先でどのボックスがチェックされているかを調べ始めました。Table Lock がチェックされていないことがわかりました。このオプションをオンにすると、SSIS の負荷が 1 分未満になりました。私の質問は次のとおりです。

  • Table Lock をオンのままにしておくと、どのような影響がありますか?
  • T-SQL の挿入ステートメントは既定でテーブル ロックを発行するのでしょうか。
4

1 に答える 1