您的位置:首页 > 其它

聚集索引更新后会不会马上重新排序

2013-11-01 22:33 267 查看

聚集索引更新后会不会马上重新排序

今天在QQ群里有人问到下面问题

View Code
View Code
聚集索引页面

View Code
View Code
数据页面109

View Code

View Code

View Code
View Code
View Code



更新时候的执行计划



总结

聚集索引也会引起万圣节问题



万圣节问题:重新排序导致的更新记录错误

聚集索引更新了之后也会重新排序,所以你看到上面聚集索引表的结果



中间也会有一个表假脱机的运算符

而非聚集索引的执行计划为什麽没有呢?

因为非聚集索引那个扫描的是堆里的数据页面,而不是扫描非聚集索引页面,

只有扫描非聚集索引页面才会出现万圣节问题,更新了非聚集索引之后马上进行排序

而堆里的数据页面无论怎麽更新都不会重新排序的

这里归纳一下重新排序的情况

重新排序:扫描聚集索引(聚集索引表)、扫描非聚集索引(非聚集索引表

不重新排序:扫描堆里的数据页面(非聚集索引表)、堆表

非聚集索引比较特殊,因为索引页面和数据页面是分开的,所以要分两种情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: