索引

索引

为了加速对表中数据行的检索而创建的一种分散存储的数据结构

为什么使用索引

1·极大减少存储引擎扫描数据量
2·可把随机OI变为顺序IO
3·索引可以帮助我们再进行分组、排序等操作时,避免使用临时表
加强版B TREE

为什么是B+TREE

1·B+树是B树的变种,多路绝对平衡查找树,拥有B树优势
2·树扫库、表能力更强(B每个节点都有关键字,B+只需要扫子节点)
3·树的磁盘读取能力更强(枝节点不保证是关键字:数据,所以可以索引的关键字就更多,读取能力更强)
4·排序能力强
5·查询效率更稳定

绝对平衡树(3分支)
坐闭合
只有数据只在叶子节点

Innodb 以主键为索引来组织数据的存储(聚集索引:在叶子节点保存所有信息)
数据和索引放一起,一个IBD文件

Myisam 两个文件MYI,MYD;数据和索引分开存放

列的离散性:离散性越好,选择性越好(越大选择性越好)

联合索引

单列索引
联合索引

联合索引原则
1最经常用的优先放左边(最左匹配原则,
2离散度高原则,
3宽度小优先(最少空间原则

覆盖索引
覆盖索引,如果查询列可通过索引节点中的关键字直接返回,则该索引称之为覆盖索引。
覆盖索引可减少数据库IO,将随机IO变为顺序ID,提高查询性能。
select a,b from user where a=?
a,b可能是一个已建立的索引,这样可能会命中索引,可提高效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值