聚集索引与非聚集索引的区别(未知日期)
来源:互联网 发布:淘宝网儿童口罩有图案 编辑:程序博客网 时间:2024/05/17 06:04
聚集索引与非聚集索引的区别
发表于304 天前 ⁄ 数据库 ⁄ 暂无评论 ⁄ 被围观 340 次+
首先,看下索引的分类。微软官方介绍索引的类型:http://msdn.microsoft.com/zh-cn/library/ms175049.aspx
聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致.
聚集索引表记录的排列顺序与索引的排列顺序一致,优点是查询速度快,因为一旦具有第一个索引值的纪录被找到,具有连续索引值的记录也一定物理的紧跟其后。
聚集索引的缺点是对表进行修改速度较慢,这是为了保持表中的记录的物理顺序与索引的顺序一致,而把记录插入到数据页的相应位置,必须在数据页中进行数据重排,降低了执行速度。
建议使用聚集索引的场合为:
a.此列包含有限数目的不同值;
b.查询的结果返回一个区间的值;
c.查询的结果返回某值相同的大量结果集。
非聚集索引指定了表中记录的逻辑顺序,但记录的物理顺序和索引的顺序不一致,聚集索引和非聚集索引都采用了B+树的结构,但非聚集索引的叶子层并不与实际的数据页相重叠,而采用叶子层包含一个指向表中的记录在数据页中的指针的方式。非聚集索引比聚集索引层次多,添加记录不会引起数据顺序的重组。
建议使用非聚集索引的场合为:
a.此列包含了大量数目不同的值;
b.查询的结束返回的是少量的结果集;
c.order by 子句中使用了该列。
–不用索引查询
Select * FROM IndexTestTable WHIT(INDEX(0))
Where Status=’B’
–创建聚集索引
Create CLUSTERED INDEX icIndexTestTable
ON IndexTestTable(Status)
GO
–使用索引查询
Select * FROM IndexTestTableWITH(INDEX(icIndexTestTable))
Where Status=’B’
建了索引块后 查找的时候首先查找索引块在查找索引块中的内容
聚集索引的区别
聚集索引:物理存储按照索引排序
非聚集索引:物理存储不按照索引排序
优势与缺点
聚集索引:插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快
- 聚集索引与非聚集索引的区别(未知日期)
- SQL Server 聚集索引和非聚集索引的区别分析 发布日(未知日期)
- 你能说出SQL聚集索引和非聚集索引的区别吗(未知日期)
- 聚集索引与非聚集索引区别
- 聚集索引与非聚集索引的区别与理解
- 聚集索引与非聚集索引的区别
- 聚集索引与非聚集索引的区别
- 聚集与非聚集索引
- 聚集与非聚集索引
- SQLSERVER聚集索引与非聚集索引区别
- SQLSERVER聚集索引与非聚集索引区别
- 聚集索引和非聚集索引 区别
- 聚集索引和非聚集索引区别
- 聚集索引 和 非聚集索引区别
- 聚集索引和非聚集索引的区别?
- 聚集索引/非聚集索引/主键 之间的区别
- 聚集索引和非聚集索引的区别
- 聚集索引和非聚集索引的区别
- C语言之指针专题二:指针做函数参数是指针存在的最大意义
- 面试笔试问题总结(三)—网络及其协议
- C/C++头文件注释
- 在linux安装eclipse
- 【Android开发】之Fragment生命周期
- 聚集索引与非聚集索引的区别(未知日期)
- HDOJ 4819 Mosaic
- GPIO初始化
- zoj1004-Anagrams by Stack
- 路由器花生壳教程
- python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参
- ECshop 忘记密码,重置密码
- QML类型说明-BluetoothSocket
- Android手机号码获取问题