mysql8添加索引_MySQL8.0新特性-新的索引方式

三种新的索引方式

1、隐藏索引

MySQL8.0 支持隐藏索引(invisible index),不可见索引

隐藏索引不会被优化器使用,但需要维护。

应用场景:软删除、灰度发布。

软删除:不确定当前索引是否需要删除的时候,软删除,不会彻底删除,可以恢复索引,不需要重新创建,但需要维护。

灰度发布:测试索引,对当前数据库不会参生太多影响,确认有效后,可以取消隐藏,改变为正常索引。

操作:

create table app_user (

pkid int,

age int

);

-- 正常索引

create index age_idx on app_user(age) ;

-- 隐藏索引 ,主键不可以设置尾隐藏索引

create index id_idx on app_user(pkid) invisible;

-- 有一个参数Visible为NO

show index from app_user;

-- 查询优化器对索引的使用情况

-- 会使用索引

explain select * from app_user where age=18;

-- 不会使用索引

explain select * from app_user where pkid=1;

-- 查询优化器的隐藏索引的开关

select @@optimizer_switch\G

-- 查询优化器使用隐藏索引,在当前会话中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值