我知道sql表上的INSERT可能因任何原因而变慢:
>表上存在INSERT TRIGGER
>许多必须检查的强制约束(通常是外键)
>在表的中间插入行时,页面在聚簇索引中拆分
>更新所有相关的非聚集索引
>阻止桌面上的其他活动
> IO写入响应时间不佳
> ……我错过了什么?
我怎么知道在我的具体情况中哪个是负责任的?如何衡量页面拆分与非聚集索引更新对其他所有内容的影响?
我有一个存储过程,一次插入大约10,000行(来自临时表),每10k行大约需要90秒.这是令人无法接受的缓慢,因为它导致其他spid超时.
我查看了执行计划,我看到了INSERT CLUSTERED INDEX任务以及FK查找中的所有INDEX SEEKS,但它仍然没有告诉我为什么它需要这么长时间.没有触发器,但表中确实有一些FKeys(看起来是正确索引的).
@H_403_18@