MySQL8.0新特性-新的索引方式
三种新的索引方式
1、隐藏索引
- MySQL8.0 支持隐藏索引(invisible index),不可见索引
- 隐藏索引不会被优化器使用,但需要维护。
- 应用场景:软删除、灰度发布。
- 软删除:不确定当前索引是否需要删除的时候,软删除,不会彻底删除,可以恢复索引,不需要重新创建,但需要维护。
- 灰度发布:测试索引,对当前数据库不会参生太多影响,确认有效后,可以取消隐藏,改变为正常索引。
操作:
1 | create table app_user ( |
2、降序索引
MySQL8.0真正支持降序索引(descending index)。
只有InnoDB存储引擎支持降序索引,只支持
BTREE
降序索引。MySQL8.0不再对
GROUP BY
操作进行隐式排序,也就是说,排序必须要使用ORDER BY
。
操作:
1 | create table app_dept |
3、函数索引
- MySQL8.0支持在索引中使用函数(表达式)的值。
- 支持降序索引,支持JSON数据索引。
- 函数索引基于虚拟列功能实现。
1 | create table t1( |
本文地址:MySQL8.0新特性-新的索引方式
推荐
MySQL8.0创建用户及其配置
MySQL8.0新特性-新的索引方式
MySQL8.0新特性-通用表表达式(CTE)
MySQL8.0新特性-窗口函数
MySQL8.0新特性-InnoDB增强
MySQL8.0新特性-JSON增强
官方介绍