0

SqlBulkCopy に関していくつか質問があります。

  1. ビジネス コンポーネントから数百万のレコードをテーブルに挿入する必要があります。私は次のアプローチを検討しています:

    1. SqlBulkCopy を使用して、データを宛先テーブルに直接挿入します。テーブルには既存のデータとインデックス (変更できない) があるため、一括ログ記録の動作が得られず、TabLock を適用できません。
    2. SqlBulkCopy を使用して、一時データベースのヒープにデータを一度に挿入します (バッチサイズ = 0)。完了したら、ストアド プロシージャを使用して一時テーブルから宛先テーブルにデータを移動します。
    3. SqlBulkCopy を使用して一時データベースのヒープにデータを挿入しますが、バッチサイズを指定します。完了したら、ストアド プロシージャを使用して一時テーブルから宛先テーブルにデータを移動します。
    4. データを分割し、複数の SqlBulkCopy を使用して一時データベースの複数のヒープに同時に挿入します。データの各チャンクがアップロードされたら、ストアド プロシージャを使用して一時テーブルから宛先テーブルにデータを移動します。

    エンドツーエンド時間が最も短いアプローチはどれですか?

  2. SqlBulkCopy を使用してデータをインデックス付きのテーブルにアップロードする場合、同時にテーブルに対してクエリを実行できますか?

4

0 に答える 0