博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
聚集索引和非聚集索引的区别
阅读量:6692 次
发布时间:2019-06-25

本文共 827 字,大约阅读时间需要 2 分钟。

原本是想写关于SQL数据优化方面的文章的,现在网上看了下, 被“误入歧途”到关于:聚集索引和非聚集索引的区别上,遂研究了下,看懂了不少,现写下来,记录下  
聚集索引:聚集索引既然名字中有个“聚集”,说明突出在“聚集”两个字上。可以比较形象的说成是一个词典的拼音索引,比如我要查:东方的“东”字,但是我不知道东字怎么写,这时比较快捷的方法就是,直接根据拼音“
dong
”来查到大概是哪一页开始的,然后再找。这个“拼音的索引”就相当于“聚集索引”。
非聚集索引:但也可能是这种情况,我只知道他是怎么写的,但是不知道怎么念,这时我们会根据字的部首来查这个字,如部首“∕”,那你可能查到的是“年”,也可能是“爱”,可能是“受”,这样你查询的结果就相当零散和不连续,效率就十分低下,这就是“非聚集索引”   下面来说下官方的说法:  
聚集索引: 一种索引,该索引中键值的 决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据。
由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。  
适用情况 1
、含有大量非重复值的列。 2
、使用
BETWEEN,>,>=,<
<=
返回一个范围值的列 3
、被连续访问的列 4
、返回大型 的查询 5
、经常被使用连接或
GROUP BY
子句的查询访问的列 下面的表总结了何时使用聚集索引或 :
动作描述 使用聚集索引 使用非聚集索引
列经常被分组排序
返回某范围内的数据 不应
一个或极少不同值 不应 不应
小数目的不同值 不应
大数目的不同值 不应
频繁更新的列 不应
外键列
主键列
频繁修改索引列 不应
 

转载于:https://www.cnblogs.com/woaic/archive/2013/01/16/3943060.html

你可能感兴趣的文章
Linux管理用户账号
查看>>
redis中使用lua脚本
查看>>
颜色数组
查看>>
ELASTICSEARCH清理过期数据
查看>>
oo第三次博客作业
查看>>
《结对-结对编项目作业名称-需求分析》
查看>>
iView3.x Anchor(锚点)组件 导航锚点
查看>>
Network --- Tcp Protocol
查看>>
sqlite效率探测
查看>>
React生命周期
查看>>
数据库 -- mysql表操作
查看>>
shutil 高级文件操作
查看>>
Itellij Idea全局搜索
查看>>
Android系统简介
查看>>
配置证书
查看>>
Oracle VM VirtualBox技巧
查看>>
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>