持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情
大家好! 我是慕歌,一只想教你学习 后端技术的野生coder! 欢迎来到慕歌的数据库系列教程,希望通过这个教程带大家深入学习数据库技术,该教程所有知识点均来源于本人的日常学习与开发中,如有疑问请与我联系!
前言
在上一节的分享中,慕歌向大家分享关于数据库索引的知识,索引作为数据库底层数据存储的重要部分,为数据的快速检索查询提供了极大的帮助。不同的索引结构的存储逻辑还有所差异,他们在整个系统中扮演了不同的角色,主键索引索引作为索引中,乃至是数据存储结构中最重要的一种结构,通过主键索引构建最基础的数据查询逻辑,是所有查询得以快速执行的底层支撑。
其余索引,如唯一索引以及普通索引,是对主键索引的一种增强,通过利用主键索引的存储结构,以辅助其他索引的高速访问,其余索引中保存的是对主键索引的引用,真实查询数据时需要利用到主键索引中存储的全量数据。聚簇索引与非聚簇索引的区别也就在于此,真实存储全量数据的索引,被称之为聚簇索引,其余索引则是非聚簇索引。
以上是对索引分类以及特点的简单回顾,这一节我们将深入探讨索引的设计原则,以及底层设计逻辑是怎样的,其中将设计到底层的数据结构,以及一些设计规范。
索引设计
设计目的:
- 索引设计用于快速查找的数据结构
- 通过索引实现高效的数据约束
- 加速关联数据间的查询效率,优化关联性查询
- 加速分组以及排序的效率
**注意点:**索引的维护以及创建都是需要时间的,并且数据量越大耗费的时间相应更长;索引需要占据一定的存储空间,数据量越大,索引的数据量也会随之变多;数据发生变化的时候,数据的索引也会随之改变。
聚簇索引:
特点:
优点:
缺点:
二级索引:
特点:
当需要完整数据的时候,需要进行回表操作,先找到主键索引中的主键,再根据主键索引寻找完整数据。
优点:
一定程度上优化数据查询的效率,在某些常用键上建立索引,能够有效的提升这些常用查询的执行效率,为获取执行时间的提升,牺牲一定空间是非常必要的。
INNODB索引
特点:
结语
这一节的分享到这里就结束了,下一节将带来数据库索引最终篇的分享学习!
如果您觉得本文不错,欢迎点赞支持,您的关注是我坚持的动力!