14.7 降序索引
从MySQL 4版本开始就已经支持降序索引的语法了,但是直到MySQL 8.x版本才开始真正支持降序索引。本节就对比MySQL 5.7与MySQL 8.x中对降序索引的处理来介绍MySQL 8.x中的降序索引特性。
14.7.1 降序索引概述
MySQL 8.x版本中另一项重要的新特性就是真正开始支持降序索引,但是只有MySQL的InnoDB存储引擎支持降序索引,同时,只有BTREE索引支持降序索引。另外,在MySQL 8.x版本中,不再对GROUP BY语句进行隐式排序。
14.7.2 降序索引操作
1.创建表并指定降序索引
(1)在MySQL 5.7版本上创建数据库test,并在test数据库中创建test_desc数据表,并为test_desc数据表创建组合索引idx,包含的字段为c1和c2,同时c1字段按照升序排列,c2字段按照降序排列。
mysql> CREATE DATABASE testdb;
Query OK, 1 row affected (0.00 sec)
mysql> USE testdb;
Database changed
mysql> CREATE TABLE test_desc (
-> c1 INT,
-> c2 INT,
-> INDEX idx(c1 asc, c2 desc)
-> );
Query OK, 0 rows affected (0.24 sec)