MySQL 索引手记

索引的作用?

提高查询效率

索引常见数据结构?

hash:适合等值查询,不适合做区间查询

有序数据:静态数据查询效率高,数据插入删除效率低

二叉树:

        每个节点的左儿子小于父节点,父节点又小于右儿子

        查询时间复杂度O(log(N)),更新时间复杂度O(log(N))

        二叉树,因为树高过高,会适用N叉树(B+tree N叉树)

InnoDB 的索引模型?

B+TREE:胖而矮的N叉树

主键索引,非主键索引是什么,区别是?

主键索引的叶子节点存的是整行的数据(聚簇索引)

非主键索引的叶子节点内容是主键的值(二级索引)

区别是:主键索引只要搜索ID这个B+Tree即可拿到数据。普通索引先搜索索引拿到主键值,再到主键索引树搜索一次(回表)

回表查询的概念是什么?

普通索引先搜索索引拿到主键值,回到主键索引树搜索的过程称为回表查询

索引覆盖的概念是什么, 索引覆盖的优点是什么?

查询的列在命中二级索引就存在,不用在去搜索一次主键索引,称为覆盖查询。覆盖索引可以减少树的搜索次数,显著提升查询性能,使用覆盖索引是一个常用的性能优化手段.


最左前缀原则的概念是什么?

最左优先,以最左边的为起点任何连续的索引都能匹配上。


索引下推的概念是什么? MySQL 5.6 的下推优化是怎么做的?

索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。

利用命中的索引的内容进一步过滤不符合的内容,减少回表查询的次数,来提高查询效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值