mysql8索引优化,隐藏,取消隐藏,删除索引
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2022-04-26 18:13:41
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
前言
MySQL8开始支持隐藏索引,让索引暂时不可见,不会被优化器使用。 隐藏后如果服务正常,则可以考虑删除索引,如果出现异常,可快速恢复索引
隐藏索引
ALTER TABLE 表名 alter index 索引名 INVISIBLE;
隐藏后查看表结构可以看到如下提示
取消隐藏
ALTER TABLE 表名 alter index 索引名 VISIBLE;
删除索引
DROP INDEX 索引名 ON 表名;
释放空间
删除索引后,为了数据库性能,默认是不会释放空间的,需要通过下面命令来释放,二选一即可,特别注意会占用大量CPU和IO。
重建表
alter table 表名 engine=InnoDB
优化表
optimize table 表名