sql-server – 如何判断为什么某个表上的插入很慢?
我知道SQL表上的INSERT可能因任何原因而变慢: >表上存在INSERT TRIGGER 我怎么知道在我的具体情况中哪个是负责任的?如何衡量页面拆分与非聚集索引更新对其他所有内容的影响? 我有一个存储过程,一次插入大约10,000行(来自临时表),每10k行大约需要90秒.这是令人无法接受的缓慢,因为它导致其他spid超时. 我查看了执行计划,我看到了INSERT CLUSTERED INDEX任务以及FK查找中的所有INDEX SEEKS,但它仍然没有告诉我为什么它需要这么长时间.没有触发器,但表中确实有一些FKeys(看起来是正确索引的). 这是一个SQL 2000数据库. 解决方法你可以看一些东西……将批量大小从10000减小到更小,如2000或1000(您没有说明行大小有多大). 尝试启用IO Stats以查看FK查找正在进行多少IO. 什么是插入时发生的等待(master.dbo.sysprocesses)? 让我们从这里开始,看看我们去哪里. (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |