此笔记为尚硅谷MySQL高级篇部分内容
目录
一、索引及其优缺点
1、索引概述
2、优点
3、缺点
二、InnoDB中索引的推演
1、设计索引
1.一个简单的索引设计方案
2.InnoDB中的索引方案
① 迭代1次:目录项纪录的页
② 迭代2次:多个目录项纪录的页
③ 迭代3次:目录项记录页的目录页
④ B+Tree
2、常见索引概念
索引按照物理实现方式,索引可以分为 2 种:聚簇(聚集)和非聚簇(非聚集)索引。我们也把非聚集索引称为二级索引或者辅助索引。
1. 聚簇索引
2. 二级索引(辅助索引、非聚簇索引)
3. 联合索引
3、InnoDB的B+树索引的注意事项
1. 根页面位置万年不动
理解形成过程
2. 内节点中目录项记录的唯一性

3. 一个页面最少存储2条记录
三、MyISAM中的索引方案
MyISAM索引的原理图
MyISAM 与 InnoDB对比
小结
四、索引的代价
五、MySQL数据结构选择的合理性
全表遍历
Hash结构
Hash索引适用存储引擎如表所示:
二叉搜索树
如果我们利用二叉树作为索引结构,那么磁盘的IO次数和索引树的高度是相关的。
AVL树
B-Tree
B+Tree
思考题
思考题:为了减少IO,索引树会一次性加载吗?
思考题:B+树的存储能力如何?为何说一般查找行记录,最多只需1~3次磁盘IO
思考题:为什么说B+树比B-树更适合实际应用中操作系统的文件索引和数据库索引?
思考题:Hash 索引与 B+ 树索引的区别
思考题:Hash 索引与 B+ 树索引是在建索引的时候手动指定的吗?
R树
小结
算法的时间复杂度
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。
高级篇笔记PDF自取
链接:https://pan.baidu.com/s/1pVqrTwIZFoED77i-EFmw6g?pwd=3333
提取码:3333