加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL数据库-表索引-隐藏和删除索引

发布时间:2022-12-03 14:34:18 所属栏目:MySql教程 来源:未知
导读: 隐藏索引
MySQL8开始支持隐藏索引。隐藏索引提供了更人性化的数据库操作。
隐藏索引,顾名思义,让索引暂时不可见,不会被优化器使用。默认情况下索引时可见的。隐藏索引可以用来测试索引的

隐藏索引

MySQL8开始支持隐藏索引。隐藏索引提供了更人性化的数据库操作。

隐藏索引,顾名思义,让索引暂时不可见,不会被优化器使用。默认情况下索引时可见的。隐藏索引可以用来测试索引的性能。验证索引的必要性时不需要删除索引,可以先将索引隐藏,如果优化器性能无影响就可以真正的删除索引。

语法如下:

ALTER TABLE tablename alter index index_name INVISIBLE; #隐藏索引

ALTER TABLE tablename alter index index_name VISIBLE; #取消隐藏

代码示例:

mysql> create table class(id int,name varchar(64),index id_index(id));    #创建一个表同时创建普通索引
mysql> show create table class;    #查看表的定义
mysql> alter table class alter index id_index INVISIBLE;    #隐藏索引
mysql> show create table class;    #查看表的定义上面的做对比
mysql> alter table class alter index id_index VISIBLE;    #取消隐藏
mysql> show create table class;    #查看表的定义

首先创建一个有普通索引的表,然后再隐藏索引,可以通过查看表的定义明显的看出来。

mysql表看加索引_mysql 创建表 索引_mysql表索引

之后再取消隐藏,可以明显的看出来变化。

删除索引

所谓删除索引,就是删除表中已经创建的索引。之所以要删除索引,是因为这些索引会降低表的更新速度,影响数据库的性能

在MySQL中删除索引通过SQL语句DROP INDEX来实现mysql表索引,其语法形式如下:

DROP INDEX indexname ON tablename;

修改索引:先删除,后增加

代码示例:

mysql> drop index id_index on class;    #删除class表中命名为id_index的索引
mysql> show create table class;    #查看表的定义

上一个表中有索引的,通过drop index语句删除后再查看表的定义可明显的看到没有索引了就删除了。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!