gpt4 book ai didi

c# - SQL BulkCopy 与 OPENDATASOURCE 哪个更快

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:48 25 4
gpt4 key购买 nike

我想从 access .mdb 文件中将数据插入到 sqlserver 中,这是使用 OLEDB 执行数据插入 SQL BulkCopy 或 OPENDATASOURCE 的最快方法。

数据大约是 20 个表的 100,000 条记录。

谢谢。

我正在从 C# 代码执行此操作,我需要哪一个执行得更好,我无法比较,因为 OPENDATASOURCE 正在请求管理员权限。

最佳答案

在我看来,使用 SQL 批量复制可以获得插入大量数据的最佳插入性能,因为此方法完全绕过 SQL 查询语言并将数据直接流式传输到 SQL。

进一步的性能改进

  • 默认情况下,SqlBulkCopy 在大容量复制操作期间使用行锁。如果在 SqlBulkCopyOptions 中指定了 TableLock 选项,它会在大容量复制操作期间获得大容量更新锁,并且性能将得到提高。
  • Clustered Table:如果可行,加载它的最佳方式是移除聚集索引。
  • 索引:索引在并行性方面造成了巨大的问题,所以它总是一个好方法吗?在没有任何索引事件的情况下加载的想法

您可以阅读更多白皮书:SqlBulkCopy 的性能 http://www.sqlbi.com/wp-content/uploads/SqlBulkCopy-Performance-1.0.pdf

关于c# - SQL BulkCopy 与 OPENDATASOURCE 哪个更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17526092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com