创建非聚集索引时,叶级将包含对原始表中行的引用:
我的问题是为什么非聚集索引没有设计为在这两种情况下包含物理地址(除了聚集索引键之外)。当定义聚集索引时,它可以保存 B-Tree 的读取以用于键查找。
sql-server nonclustered-index
对大型表执行 UPDATE 语句后,执行计划会显示包含更新列的索引(所有非聚集索引)的更新。
在每次索引更新之前,都有一个 Eager Spool 操作符,后面跟着一个非常昂贵的 Sort。
总的来说,索引的更新消耗了大约50%的执行时间。
有没有办法优化索引并最小化成本?
sql-server execution-plan nonclustered-index index-spool
nonclustered-index ×2
sql-server ×2
execution-plan ×1
index-spool ×1