mysql8倒排索引_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

本文探讨了MySQL 8.0引入的倒排索引特性,解决了正向索引在某些查询中效率低下的问题。通过对比正向与反向索引的执行计划,揭示了倒排索引如何消除`Using temporary; Using filesort`,提升性能。并举例说明在不同场景下如何创建和利用倒排索引,以优化查询效率。
摘要由CSDN通过智能技术生成

我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引。

MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉。

比如对于以下的查询,无法发挥索引的最佳性能。查询一:select*fromtb1wheref1=...orderbyid desc;查询二:2. select * from tb1 where f1 = ... order by f1 asc , f2 desc;

那对于上面的查询,尤其是数据量和并发到一定峰值的时候,则对OS的资源消耗非常大。一般这样的SQL在查询计划里面会出现using filesort等状态。

比如针对下面的表t1,针对字段rank1有两个索引,一个是正序的,一个是反序的。不过在MySQL 8.0 之前的版本都是按照正序来存储。

8ddec14057090e3880fcc8567495a121.png

按照rank1 正向排序的执行计划,

9a88602a2533e8a3e1374484091557d2.png

按照rank1 反向排序的执行计划,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值