Mysql基础
xiao 8/22/2020 学习心得
# 1.Mysql索引
慢sql优化机制
# 索引
索引是帮助Mysql高效获取数据的排好序的数据结构
- 二叉树
- 红黑树
- hash表
- B-Tree
# B+树数据详解
二叉树平衡、红黑表(时间复杂度O(logn)树高问题、hash表不支持范围查询
B-Tree根节点存放数据(数据页数据量变小).叶子节点没有双向关联.为什么叶节点指针为空
B+Tree:
- 非叶子节点不存储.只存储索引(冗余)
- 叶子节点包含索引索引字段
- 叶子节点用指针链接,提高区间访问的性 能

# innodb存储引擎实现
Myisam引擎:索引文件和数据是分离的(非聚集),索引叶子节点存储的是数据的磁盘文件(物理)地址。三张表frm(table信息)、MYD(数据)、MYI(索引)
inodb引擎:索引和数据放在一个文件.就frm和ibd文件
# 聚集索引与覆盖索引与索引下推
聚集索引以主键为索引的B+树(data数据在叶子节点)。覆盖索引会进行回(聚集)表查询
# 最左前缀原则
查询时where最好按联合索引的顺序查(这样才会用到联合所以)以提高查询效率