如何对SQL Server表进行性能调优以加快插入速度?
例如,在Employee
表格中,我有150 000条记录。当我尝试插入更多记录(大约20k)时,需要10-15分钟。
答案 0 :(得分:1)
使用等待统计数据进行性能调整是一种很好的方法。下面是我要做的几个步骤
<强>步骤1:强>
运行插入查询
<强>步骤2:强>
打开另一个会话并在
select * from sys.dm_exec_requests
现在状态和等待类型列应该为您提供有关下一步的详细信息
<强>实施例强> 如果状态被阻止(通常不会阻止插入),请检查阻止查询并查看阻止查询的原因
以上只是一个示例,您可能会遇到任何等待类型的更多信息
答案 1 :(得分:0)
我对加速插入的建议是在临时表中进行批量插入,然后在最终表中插入一个插入。
这假设新记录的来源是外部文件。
在任何情况下,您的问题都会留下许多重要信息:
插入速度慢的原因有很多。
答案 2 :(得分:0)
除了检查锁之外还有一些想法
如果存在插入触发器,则禁用任何插入触发器,并在插入中包含逻辑。同时禁用表上的任何索引并重新启用后批量插入。