SqlBulkCopy 的建议批量大小是多少?

2024-04-19

建议的批量大小是多少SqlBulkCopy?我正在寻找一个可以用作性能调整起点的通用公式。


我有一个导入实用程序与我的 SQL Server 实例位于同一台物理服务器上。使用自定义IDataReader,它解析平面文件并将它们插入数据库中SQLBulkCopy。一个典型的文件大约有 6M 合格行,平均有 5 列小数和短文本,每行大约 30 个字节。

在这种情况下,我发现批量大小为 5,000 是速度和内存消耗的最佳折衷方案。我从 500 个开始,然后尝试更大的。我发现 5000 平均比 500 快 2.5 倍。插入 600 万行大约需要 30 秒(批量大小为 5,000 时)和大约 80 秒(批量大小为 500 时)。

10,000 并没有快多少。提高到 50,000 可以将速度提高几个百分点,但增加服务器负载并不值得。超过 50,000 的速度没有任何改善。

这不是一个公式,而是另一个供您使用的数据点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SqlBulkCopy 的建议批量大小是多少? 的相关文章

随机推荐