SqlServer聚集索引和非聚集索引的区别
站长网2023-02-17 11:27:2044阅
一、概述
聚集索引:聚集索引是索引结构和数据一起存放的索引。类似于字典的正文,当我们根据拼音直接就能找到那个字。
非聚集索引:非聚集索引是索引结构和数据分开存放的索引。类似于根据偏旁部首找字,首先找到该字所在的地址,再根据地址找到这个字的信息。
二、建立索引
建立聚簇索引使用CREATE INDEX语句,格式为:
- CREATE CLUSTER INDEX index_name ON table_name(column_name1,column_name2,...);
三、区别及优缺点
区别:
1.聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个
2.聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续
3.聚集索引:物理存储按照索引排序;聚集索引是一种索引组织形式,索引的键值逻辑顺序决定了表数据行的物理存储顺序。
4.非聚集索引:物理存储不按照索引排序;非聚集索引则就是普通索引了,仅仅只是对数据列创建相应的索引,不影响整个表的物理存储顺序。
5.索引是通过二叉树的数据结构来描述的,我们可以这么理解聚簇索引:索引的叶节点就是数据节点。而非聚簇索引的叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。
优势与缺点:
聚集索引插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快。
四、何时使用聚集索引或非聚集索引
动作描述 | 使用聚集索引 | 使用非聚集索引 |
---|---|---|
列经常被分组排序 | 应 | 应 |
返回某范围内的数据 | 应 | 不应 |
一个或极少不同值 | 不应 | 不应 |
小数目的不同值 | 应 | 不应 |
大数目的不同值 | 不应 | 应 |
频繁更新的列 | 不应 | 应 |
外键列 | 应 | 应 |
主键列 | 应 | 应 |
频繁修改索引列 | 不应 | 应 |
五、总结
1.使用聚集索引的查询效率要比非聚集索引的效率要高,但是如果需要频繁去改变聚集索引的值,写入性能并不高,因为需要移动对应数据的物理位置。
2.非聚集索引在查询的时候可以的话就避免二次查询,这样性能会大幅提升。
3.不是所有的表都适合建立索引,只有数据量大表才适合建立索引,且建立在选择性高的列上面性能会更好。
00044
评论列表
共(0)条相关推荐
word文件加密怎么操作?1分钟就可以轻松实现!
案例:我经常使用word文章整理一些资料,有些资料比较重要,我不希望别人可以随意打开它。听说可以对word文档进行加密,具体应该怎么操作?随着数字化时代的到来,电子文档在我们的日常生活和工作中扮演着越来越重要的角色。其中,word文档作为最常见的文档格式之一,往往包含着各种敏感和机密信息。站长网2023-07-29 09:40:5700003款小众好用的软件!
hello大家好,这里是周末也要爆肝更新的老Y工作室。周日不上班的朋友有没有出门的计划?反正老Y觉得天气太热,哪里都不如家里舒服昨儿晚上给大家搜索了几款有意思的软件,一大早就和大家分享分享,休息的同时别忘记给老Y点个赞呀,你在文章中的关键部分的各种点击是我前进的动力01、视频助手站长网2023-07-28 15:45:180000你的身份证办了几张手机卡?用微信就能查询!不是自己的赶快注销
站长网2023-07-29 12:05:070003电脑文件夹怎么设置密码?3个方法为文件加密!
我的电脑里存了很多重要的文件夹,为了防止信息的泄露,我想把这些文件夹都设置密码。但是不知道具体应该如何操作。请求大家的帮助!我们平常在使用电脑时,可能会将很多重要的文件保存在电脑中。如果不想让别人看到我们这些重要的文件,比较好的一个方法就是为文件夹设置密码。文件夹设置密码后,文件泄露的可能性会减小。电脑文件夹怎么设置密码?这几个方法很简单!方法一:使用文件夹加密功能站长网2023-07-29 17:55:080001