SQL SERVER非聚集索引

一、非聚集索引

1、非聚集索引

  • 聚集索引是索引结构和数据一起存放的索引。
    类似于字典的正文,当我们根据拼音直接就能找到那个字。
  • 非聚集索引:非聚集索引是索引结构和数据分开存放的索引。
    类似于根据偏旁部首找字,首先找到该字所在的地址,再根据地址找到这个字的信息。

2、存储在数据页中

  • 也是存储在页中(PageType标记为2的页,叫索引页)。
  • 比如表T建立了一个非聚集索引Index_A,那么表T有100条数据的话,
    那么索引Index_A也就有100条数据(准确的说是100条叶子节点数据,索引是B树结构,如果树的高度大于0,那么就有根节点页或中间节点页数据,这时索引数据就超过100条),
    如果表T还有非聚集索引Index_B,那么Index_B也是至少100条数据,所以索引建越多开销越大。

3、性能影响

  • 更新索引字段、插入一条数据、删除一条数据都会造成索引的维护从而造成性能的一定影响。
    在不同情况下,性能影响是不同的。
    比如当你有一个聚集索引,插入的数据又都是在末尾,这样几乎是不会造成数据移动,影响较小;
    如果插入的数据在中间位置,一般会导致数据移动,而且可能产生分页和页碎片,影响就会稍大一点(如果插入到的中间页有足够的剩余空间容纳插入的数据,而且位置是在页末,也是不会造成数据移动)

版权声明:
作者:Zad
链接:https://www.techfm.club/p/43387.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>