sql自学笔记(十四)——MySQL8.0版本的新特性(四)

2019-05-02  本文已影响0人  itczt

优化器索引

隐藏索引

新版本对应隐藏索引的使用情况

进入测试数据库
use testdb;
创建一张测试表
create table t1(i int, j int);
在这两个字段上分别创建两个索引
create index i _ idx on t1(i);//普通索引
creste index j _ idx on t1(j) invisible;//隐藏索引
查看一下
shhow index from t1\G

查询优化器对索引的默认使用情况
explan select * from t1 where i = 1; 
explan select * from t1 where j = 1; 

通过优化器看见隐藏索引
查询优化器的开关

select @@oaptimizer _ switch\G 
打开之后再来查询
explain select * from  t1 where j = 1;

设置索引的可见或不可见

alter table t1 alter index i _ idx visible; 置为不可见
alter table t1 alter index j _ idx invisible;
MySQL限定了对主键的不可见
create table t2(i int not null);
尝试一下对tablele t2 设置不可见的主键
alter table t2 add primary key pk _ t2(i)invisbie;
上一篇下一篇

猜你喜欢

热点阅读