当前位置:
首页
文章
数据库
详情

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、性能影响

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

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。