小编Yev*_*erg的帖子

非聚集索引叶级

创建非聚集索引时,叶级将包含对原始表中行的引用:

  • 如果表有聚集索引,则叶级将包含聚集索引键;
  • 如果表没有聚集索引(堆),则叶级将包含指向表中行的物理地址的指针;

我的问题是为什么非聚集索引没有设计为在这两种情况下包含物理地址(除了聚集索引键之外)。当定义聚集索引时,它可以保存 B-Tree 的读取以用于键查找。

sql-server nonclustered-index

1
推荐指数
1
解决办法
969
查看次数

在执行计划中使用 Eager Spool 和 Sort 运算符进行索引更新

对大型表执行 UPDATE 语句后,执行计划会显示包含更新列的索引(所有非聚集索引)的更新。

在每次索引更新之前,都有一个 Eager Spool 操作符,后面跟着一个非常昂贵的 Sort。

总的来说,索引的更新消耗了大约50%的执行时间。

有没有办法优化索引并最小化成本?

在此输入图像描述

sql-server execution-plan nonclustered-index index-spool

-1
推荐指数
1
解决办法
861
查看次数