在分析一个sql执行计划
1 | explain |
在返回值的extra中看到一个陌生的字眼”Backward index scan”,下面探索下这是个啥
1 | Extra: Using index condition; Backward index scan |
是什么
Backward index scan (JSON: backward_index_scan). The optimizer is able to use a descending index on an InnoDB table. Shown together with Using index. For more information, see Section 8.3.13, “Descending Indexes”.
Descending indexes are supported only for the InnoDB storage engine
仅在InnoDB上有效,创建索引时支持指定排序方式,不再忽略索引定义里的参数DESC
1 | -- MySQL supports descending indexes: DESC in an index definition is no longer ignored but causes storage of key values in descending order |
Descending Indexes/降序索引
在MySQL 8中,Descending Indexes是数据库索引的一种类型,用于对数据进行降序排序,在查询最新数据等情况非常有用。
Descending Indexes可以在表的一个或多个列上创建,并且使用方式类似于升序索引。当执行查询时,数据库引擎使用索引快速定位需要的数据,而不是扫描整个表。
降序索引可以改善某些查询的性能,但它们并不适用于所有情况。例如在表上执行的大多数查询需要按升序排序数据,那么降序索引可能不会提供任何性能改进。
因此,需要分析数据和查询模式以确定是否适合使用降序索引。