Insert Query
vs SqlBulkCopy
- 对于从一个DataBase
到另一个DataBase
我知道SQLBulkcopy
用于大量的记录。
如果记录小于10,那么哪一个更好。
请分享您的观点。
答案 0 :(得分:1)
由于您要求的记录少于10条,我建议您使用简单的插入查询。
但是如果你想使用SQLBulkCopy,那么首先应该知道何时使用它。
BULK INSERT
BULK INSERT命令是将文本文件中的数据导入SQL Server的进程内方法。因为它与Sqlservr.exe一起运行,所以将数据文件加载到SQL Server是一种非常快速的方法。
答案 1 :(得分:0)
这是a link to a site的一些基准测试。
我过去曾广泛使用过SqlBulkCopy
,效率非常高。但是,您可能需要重新设计表格才能有效地使用它。例如,当您使用SqlBulkCopy
时,您可能希望使用客户端生成的标识符,因此您必须创建一些允许您生成稳定,健壮且可预测的ID的方案。这与使用自动生成的标识列的典型插入表格非常不同。
作为SqlBulkCopy
的替代方案,您可以使用我提供的链接中所讨论的方法,其中您使用union all
和insert into
语句的组合,它也具有出色的性能。尽管如此,随着数据集的增加,我认为SqlBulkCopy
将是更快的选择。这里可能需要采用混合方法,在记录计数较高时切换到SqlBulkCopy
。
我重新SqlBulkCopy
将赢得更大的数据集,但您需要了解可以使用SqlBulkCopy
操作来放弃某些检查。这当然会加快速度,但也会让你违反你对数据库施加的条件。