美文网首页
sql自学笔记(十五)——MySQL8.0版本的新特性(五)

sql自学笔记(十五)——MySQL8.0版本的新特性(五)

作者: itczt | 来源:发表于2019-05-03 10:54 被阅读0次

降序索引

  • MySQL8.0开始支持降序索引(descending index)
  • 只有InnoDB存储引擎支持降序索引,只支持BTREE降序索引
  • MySQL8.0不再对GROUP BY操作进行隐式排序

先看一下在5.7当中执行的语法

创建一下表和索引

create table t2(c1 inr,c2 int,index idx1(c1 asc,c2 desc));

显示一下

show create table t2\G

如图所示虽然在语法中c1是升序,c2是降序,实际上创建的索引中它没有相应的信息,它都是默认的升序。

查询优化器对降序索引的使用情况

1.默认生成几条数据

insert into t2(c1,c2) values(1,100),(2,200),(3,150),(4,50);

显示一下

select * from t2;

查询优化器对降序索引的使用情况

explain select * from t2 orcler by c1 desc,c2;

执行相反查询c1降序,c2升序

explain select * from t2 by c1 desc,c2;

如图所示,它使用了反向索引扫描

对group by不再进行默认操作

select count(*),c2 from t2 group by c2;
在MySQL5.7中默认排序



而在新版本中要想使用group by排序

select count(*),c2 from to group by c2 order by c2; 

相关文章

网友评论

      本文标题:sql自学笔记(十五)——MySQL8.0版本的新特性(五)

      本文链接:https://www.haomeiwen.com/subject/eohanqtx.html