当前位置:首页 > 生活 >

索引有哪些好处(索引的原理是什么)

来源:原点资讯(www.yd166.com)时间:2024-05-10 17:46:10作者:YD166手机阅读>>

所以当使用where ID = 7这样的条件查找主键,则按照B 树的检索算法即可查找到对应的叶节点,之后获得行数据。对Name列进行条件搜索,则需要两个步骤:第一步在辅助索引B 树中检索Name,到达其叶子节点获取对应的主键。第二步使用主键在主键索引B 树种再执行一次B 树检索操作,最终到达叶子节点即可获取整行数据。

最后把以上过程整理总结一下,聚簇索引实际上的过程就分为以下两个过程。现在这个图应该能够看懂了吧。

索引有哪些好处,索引的原理是什么(13)

非聚簇索引

学完了聚簇索引,非聚簇索引就简单多啦。同样,先上定义。

非聚簇索引的主键索引和辅助索引几乎是一样的,只是主索引不允许重复,不允许空值,他们的叶子结点都存储指向键值对应的数据的物理地址。

与聚簇索引来对比着看,上面的定义能够说明什么呢。首先,主键索引和辅助索引的叶子结点都存储着键值对应的数据的物理地址,这说明无论是主键索引还是辅助索引都能够通过直接获得数据,而不需要像聚簇索引那样在检索辅助索引时还得多绕一圈。

同时还说明一个点,叶子结点存储的是物理地址,那么表示数据实际上是存在另一个地方的,并不是存储在B 树的结点中。这说明非聚簇索引的数据表和索引表是分开存储的。

同样,对非聚簇索引的检索过程来个总结。

索引有哪些好处,索引的原理是什么(14)

无论是主键索引还是辅助索引的检索过程,都只需要通过相应的 B Tree 进行搜索即可获得数据对应的物理地址,然后经过依次磁盘 I/O 就可访问数据。

对比聚簇索引和非聚簇索引,可以发现二者最主要的区别就是在于是否在 B Tree 的节点中存储数据,也就是数据和索引是否存储在一起。这个区别导致最大的问题就是聚簇索引的索引的顺序和数据本身的顺序是相同的,而非聚簇索引的顺序跟数据的顺序没有啥关系。

索引有哪些好处,索引的原理是什么(15)

索引优化

介绍了这么多的索引,其实最终都是为了建立高性能的索引策略,对数据库中的索引进行优化。索引的优化有很多角度,针对特定的业务场景可采用不同的优化策略。这里考虑到文章篇幅,就不具体介绍,下次再出一篇专门讲索引优化的文章。简单列举一下在进行优化时可以考虑的几个方向:

1 独立的列。索引列不能是表达式的一部分,也不能是函数的参数。

2 前缀索引和索引选择性。这二者实际上是相互制约的关系,制约条件在于前缀的长度。一般应选择足够长的前缀以保证较高的选择性(保证查询效率),同时又不能太长以便节省空间。

3 尽量使用覆盖索引。覆盖索引是指一个索引包含所有需要查询的字段的值,这样在查询时只需要扫描索引而无须再去读取数据行,从而极大的提高性能。

4 使用索引扫描来做排序。要知道,扫描索引本身是很快的,在设计索引时,可尽可能的使用同一个索引既满足排序,又满足查找行数据。

最后,在建立索引时给几个小贴士:

1 优先使用自增key作为主键

2 记住最左前缀匹配原则

3 索引列不能参与计算

4 选择区分度高的列作索引

5 能扩展就不要新建索引

索引有哪些好处,索引的原理是什么(16)

栏目热文

如何做目录索引(如何在目录中增加索引)

如何做目录索引(如何在目录中增加索引)

word导出带目录书签的PDF,也可以手动修改、添加书签请稍等,载入中.......PDF可以方便的单页旋转、插入、截取...

2024-05-10 17:47:04查看全文 >>

使用索引的好处

使用索引的好处

1) 索引的优点: 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度...

2024-05-10 18:26:27查看全文 >>

聚簇索引和非聚簇索引(非聚簇索引和辅助索引的区别)

聚簇索引和非聚簇索引(非聚簇索引和辅助索引的区别)

大家好,这里是IT技术百货,专注于有价值的IT技术知识分享;今天的小知识点跟大家分享聚簇索引和非聚簇索引的区别聚簇索引与...

2024-05-10 17:53:36查看全文 >>

保险丝烧了怎么换(家用保险丝烧了更换视频)

保险丝烧了怎么换(家用保险丝烧了更换视频)

电饭锅快速换保险丝。没电了,又没电了,没电了怎么办?自己动手修。怎么修?看完我这个视频不就知道了。上期视频给大家讲了一下...

2024-05-10 18:18:28查看全文 >>

保险丝的种类及其作用(保险丝的功能及使用注意事项)

保险丝的种类及其作用(保险丝的功能及使用注意事项)

保险丝种类很多,有按保护形式分类、按使用范围分类、按体积分类、按额定电压分类、按分断能力分类、按熔断速度分类等。下面介绍...

2024-05-10 18:25:25查看全文 >>

索引怎么起作用的(索引设置好怎么使用)

索引怎么起作用的(索引设置好怎么使用)

索引是一种数据结构,用于在大型数据集中快速查找和访问特定信息。索引通常被应用在数据库、搜索引擎和其他数据处理系统中。常见...

2024-05-10 17:45:23查看全文 >>

索引作用和优缺点(简述索引的作用)

索引作用和优缺点(简述索引的作用)

优点:减少数据库服务器需要扫描的数据量帮助数据库服务器避免排序和临时表将随机 I/O 变顺序I/O提高查询速度唯一索引,...

2024-05-10 17:54:37查看全文 >>

索引的原理(索引的用法和原理)

索引的原理(索引的用法和原理)

目录为什么要有索引索引原理磁盘IO与预读索引的数据结构b 树的查找过程b 树性质mysql的索引分类索引的两大类型Has...

2024-05-10 18:11:02查看全文 >>

氯化钙遇水后有毒吗(氯化钙在空气中的危害)

氯化钙遇水后有毒吗(氯化钙在空气中的危害)

氯化钙,一种无机化合物,由氯元素和钙元素构成的盐,为典型的离子型卤化物。 氯离子能够对水进行杀菌消毒,对有害细菌进行杀灭...

2024-05-10 18:12:37查看全文 >>

氯化钙除湿靠谱吗(氯化钙除湿是真的吗)

氯化钙除湿靠谱吗(氯化钙除湿是真的吗)

氯化钙厂家:氯化钙是一种无臭的颗粒状、块状或薄片状的白色晶体,暴露在空气中容易潮解,具有很强的干燥吸湿性。因此,氯化钙制...

2024-05-10 17:43:30查看全文 >>