聚集索引与非聚集索引的区别
来源:互联网 发布:淘宝兰亭序放大版字帖 编辑:程序博客网 时间:2024/06/07 06:56
聚集索引和非聚集索引是SQL SERVER 数据库中的索引类型。
一、聚集索引
1.定义
聚集索引中键值的逻辑顺序决定了表中相应行的物理存储位置,因此一个表中只能有一个聚集索引。索引的逻辑顺序与相应行的物理位置一致。
2.聚集索引的适用情形
我们可以在针对以下情况建立聚集索引
- 经常对某些列进行范围搜索,例如查询一段日期范围。
当找到包含第一个数据的行之后,便可以确保包含后续索引值的行在物理位置上相邻。 - 经常对查出的数据按照某一列进行排序,也可以再该列上建立聚集索引,避免在每次查询数据是都进行排序,从而节约时间成本。
- 当索引值唯一时,使用聚集索引查找特定的行也很有效率,例如建立主键。
3.如何建立聚集索引
MySQL的InnoDB引擎
InnoDB按照主键进行聚集,当没有设置主键时,InnoDB会以唯一的非空索引来代替,如果既没有主键,也没有唯一的非空索引,InnoDB则会生成一个隐藏的主键然后在上面进行聚集。
SQL SERVER 在建立索引时,可以将索引设置为聚集索引,但是varbinary类型的字段是不可以建立索引的。
二、非聚集索引
1.定义
非聚集索引中键值的逻辑顺序与行的物理存储位置不一致
三、聚集索引和非聚集索引的适用情形
阅读全文
0 0
- 聚集索引与非聚集索引区别
- 聚集索引与非聚集索引的区别与理解
- 聚集索引与非聚集索引的区别
- 聚集索引与非聚集索引的区别
- 聚集与非聚集索引
- 聚集与非聚集索引
- SQLSERVER聚集索引与非聚集索引区别
- SQLSERVER聚集索引与非聚集索引区别
- 聚集索引和非聚集索引 区别
- 聚集索引和非聚集索引区别
- 聚集索引 和 非聚集索引区别
- 聚集索引和非聚集索引的区别?
- 聚集索引/非聚集索引/主键 之间的区别
- 聚集索引和非聚集索引的区别
- 聚集索引和非聚集索引的区别
- 聚集索引和非聚集索引的区别?
- 聚集索引/非聚集索引/主键 之间的区别
- 聚集索引和非聚集索引的区别
- Codeforces 387E 树状数组
- Mysql读写分离实例
- linux中系统延时及定时任务
- UVa439 习题 6-4 骑士的移动(Knight Moves)
- 2017杭电多校第三场1005 RXD and dividing(最大化k个斯坦纳树分块的最大权值和)HDU6060
- 聚集索引与非聚集索引的区别
- 设计并发服务器,使用多进程与多线程有什么区别?
- 在Windows的CMD中如何设置支持UTF8编码
- 通知
- 关于Android studio 报错:[clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mo
- python进阶强化-5
- 【Linux】bash shell scripts
- Python分词练习
- LeetCode——627. Swap Salary(数据库,sql)