码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 8.0 隐藏索引

时间:2019-01-08 16:36:22      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:mysql   user   dex   mys   图片   dbf   回收   分享   create   

隐式索引 最明显的一个作用类似 索引回收站。例如数据库长时间运行后,会积累很多索引,做数据库优化时,想清理掉没什么用的多余的索引,但可能删除某个索引后,数据库性能下降了,发现这个索引是有用的,就要重新建立。对于较大的表来说,删除、重建索引的成本是很高的,如果在清理索引时能先放入回收站,确认没影响后再彻底删除,有影响的话就恢复回来,这样就方便多了,把索引设置为 隐藏/显示 就可以实现这个需求。索引的隐藏不影响索引维护,主键上不支持该特性
例如:
CREATE TABLE user (
user_id int(11) NOT NULL DEFAULT ‘0‘,
user_name varchar(20) DEFAULT NULL,
user_sex varchar(2) DEFAULT NULL,
user_old smallint(6) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入3716414 条数据,
技术分享图片
在user_name上创建索引
CREATE INDEX name_index ON test.user (user_name);
技术分享图片
相比较而言快了好多倍
当我们不能决定是否要使用这个索引时可以把这个user_index 暂时禁掉
ALTER TABLE test.user ALTER INDEX name_index INVISIBLE;
进行查看
技术分享图片
启用时
ALTER TABLE test.user ALTER INDEX name_index VISIBLE;
技术分享图片
当不需要这个索引时,可以删除
DROP INDEX name_index on test.user;

MySQL 8.0 隐藏索引

标签:mysql   user   dex   mys   图片   dbf   回收   分享   create   

原文地址:http://blog.51cto.com/11103985/2340135

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!