0

我有几个关于 SqlBulkCopy 的问题。

  1. 我需要从我的业务组件向表中插入几百万条记录。我正在考虑以下方法:

    1. 使用 SqlBulkCopy 将数据直接插入到目标表中。因为该表具有现有数据和索引(我无法更改),所以我不会获得批量日志记录行为并且无法应用 TabLock。
    2. 使用 SqlBulkCopy 一次性将数据插入到 temp db 中的堆中(batchsize = 0)。完成后,使用存储过程将数据从临时表移动到目标表。
    3. 使用 SqlBulkCopy 将数据插入临时数据库中的堆中,但指定批处理大小。完成后,使用存储过程将数据从临时表移动到目标表。
    4. 拆分数据并使用多个 SqlBulkCopy 同时插入临时数据库中的多个堆。上传每个数据块后,使用存储过程将数据从临时表移动到目标表。

    哪种方法的端到端时间最短?

  2. 如果我使用 SqlBulkCopy 将数据上传到有索引的表中,我可以同时查询该表吗?

4

0 回答 0