8.0的新特性 -- invisible(不可见索引)

发布时间 2023-04-08 09:20:06作者: kirin(麒麟)

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

invisible index 不可见索引

以前的版本,假如这个索引无用了会怎么样?那就只能是drop掉了。但是drop掉的话可能会产生一个比较严重问题。比如说万一这个索引还有用的话,那整个业务就会慢下来,所以说风险还是比较大的。  
那不确定这个索引是否有用?那就可以先把它隐藏(invisible)起来,不让业务上看到它。 如果将来真的有用,再把它显示(visible)就可以了。

PS:默认是visible的。

示例:

mysql> alter table city alter index idx_name invisible;
mysql> alter table city alter index idx_name visible;

如何查看是invisible还是visible呢?

SELECT INDEX_NAME, IS_VISIBLE
       FROM INFORMATION_SCHEMA.STATISTICS
       WHERE TABLE_SCHEMA = 'world' AND table_name='city';