mysql8新特性

115 阅读1分钟

索引

隐藏索引

不会被优化器使用,不可见索引。

  1. 软删除:老版本索引删除和创建都会消耗性能,软删除可以不删除,变成隐藏索引,,如果还要用到则可以恢复,如果不用,一段时间后才彻底删除。
  2. 灰度发布:线上测试,加隐藏索引,通过设置,在查询优化器执行sql时,恢复索引,用于测试。

创建隐藏索引

create index _idex on t1(字段名) invisible;

查看隐藏索引

show index from t1\G

查询隐藏索引参数

select @@optimizer_switch\G

设置隐藏索引生效

set session optimizer_switch="use_invisible_indexes=on"

降序索引

函数索引

函数索引相对于在mysql新增一个列,对于用户不可见,但mysql可见

通用表表达式(CTE)

相当于递归。

image.png

image.png

函数窗口

image.png

原子DDL操作