Sql server 提高SQL Server插入bigdata的性能
我正在做一个将大约10亿条记录插入SQL Server表的过程。这个过程很漫长,我正在努力改进 因此,我做了以下工作:Sql server 提高SQL Server插入bigdata的性能,sql-server,Sql Server,我正在做一个将大约10亿条记录插入SQL Server表的过程。这个过程很漫长,我正在努力改进 因此,我做了以下工作: 已从插入的表中删除所有索引和主键 插入前已删除所有选择/更新检查 检查了SQL Server内存最大值,它似乎已经足够大了 我想知道限制日志文件大小是否有助于提高SQL Server性能?如果是,我该怎么做 我还可以做些什么来改进插入过程吗 编辑 SQL Server版本:15.0.2000.5 通过.Net应用程序加载数据,在该应用程序中,我处理数据并将其发送到仅包含i
- 已从插入的表中删除所有索引和主键
- 插入前已删除所有选择/更新检查
- 检查了SQL Server内存最大值,它似乎已经足够大了
我正在做的是读取XML,然后将其插入1
您可以将整个XML文档发送到SQL Server,并使用XML或XML将其分解。或者,您可以使用XMLReader并通过实现从XML流读取的自定义IDataReader将行导入SqlBulkCopy。什么版本的SQL Server?您是如何加载数据的?当前加载速度有多快?服务器规格是什么?数据库是否处于简单恢复模式?是否正在加载群集columnstore表?你读了吗?@DavidBrowne Microsoft我用你询问的信息编辑了我的帖子你每秒获得6500多条记录。您认为您应该能够以多快的速度(每秒记录数)运行?@JoelCoehoorn我有100个多线程.net函数插入到表中,其中有100个到DB的连接,瓶颈来自SQL Server存储过程一次插入一行吗?您是否正在将插入批处理到事务中?您考虑过使用SqlBulkCopy吗?100个并发连接的性能要差得多。从理论上讲,这100路闭塞可以导致100!更糟糕的性能我正在做的是读取XML然后将其插入1条记录,有没有办法将XML文件直接插入到表中?如果文档很大,则使用SqlBulkCopy将其分解或流式处理会更快。