索引
隐藏索引
不会被优化器使用,不可见索引。
- 软删除:老版本索引删除和创建都会消耗性能,软删除可以不删除,变成隐藏索引,,如果还要用到则可以恢复,如果不用,一段时间后才彻底删除。
- 灰度发布:线上测试,加隐藏索引,通过设置,在查询优化器执行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)
相当于递归。