我正在执行将大约10亿条记录插入SQL Server表的过程。这个过程很漫长,我正在努力改善它。
因此,我做了这些:
我想知道限制日志文件大小是否有助于提高SQL Server性能?如果是这样,我该怎么做?
我还有其他事情可以改善插入过程吗?
编辑
SQL Server版本:15.0.2000.5
通过.Net应用程序加载数据,我在其中处理数据并将其发送到仅具有插入语句的存储过程(全部在同一台PC上没有网络,即SQL Server和.Net app都在同一台机器上)
目前在50分钟内已插入约2000万条记录
恢复模式=完全
我删除了所有聚集索引和非聚集索引
我当时插入1条记录。
那不会太快。在每个命令中向SQL Server发送多行。最快的方法通常是SqlBulkCopy,您可能不需要并行执行任何操作。同样,使用表值参数或JSON一次发送多行将比您做的要快得多。
我正在做的是阅读XML,然后将其插入1
您可以将整个XML文档发送到SQL Server并使用xmlnodes ()或openxml进行粉碎。或者,您可以使用XMLReader,并通过实现从XML流读取的自定义IDataReader,将行通过管道传递到SqlBulkCopy。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句