MySQL 8.0新特性-不可见索引
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,官方文档: https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.htmlMySQL 8.0 invisible index学习MySQL
千家信息网最后更新 2025年02月03日MySQL 8.0新特性-不可见索引
官方文档: https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.html
MySQL 8.0 invisible index学习
MySQL支持不可见索引,即优化器不会使用该索引。 不可见索引特性不可以用于主键。
默认索引是可见的。可以在create table、create index、alter table操作中使用关键字visible、invisible来指定索引是否可见。
create table t1 ( i int, j int, k int, index i_idx (i) invisible) engine = innodb;create index j_idx on t1 (j) invisible;alter table t1 add index k_idx (k) invisible;
修改已经存在的索引的可见性:
alter table t1 alter index i_idx invisible;alter table t1 alter index i_idx visible;
可以通过information_schema.statistics、show index查看索引的可见性:
>select index_name, is_visible-> from information_schema.statistics-> where table_schema = 'abce' and table_name = 't1';+------------+------------+| INDEX_NAME | IS_VISIBLE |+------------+------------+| i_idx | NO |+------------+------------+1 row in set (0.00 sec)>show index from t1;+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+| t1 | 1 | i_idx | 1 | i | A | 0 | NULL | NULL | YES | BTREE | | | NO | NULL |+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+1 row in set (0.00 sec)
不可见索引可以用来测试移除索引后对查询性能的影响。 毕竟对于大表,删除和重建索引是非常昂贵的操作。 系统变量optimizer_switch中的use_invisible_indexes标志控制了优化器是否使用不可见索引来构建执行计划。 如果use_invisible_indexes=off(默认设置),优化器会忽略不可见索引;如果设置为on,索引仍然不可见,但是优化器在生成执行计划的时候会考虑不可见索引。
化器在生成执行计划的时候会考虑不可见索引。
mysql>show variables like '%optimizer_switch%'index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on |返回行数:[1],耗时:14 ms.
举例:
alter table t1 alter index i_idx invisible;
索引设置为不可见,优化器便不考虑此索引,也就是说如果没有该特性,你就得删除该索引和重建该索引来测
索引
特性
时候
生成
昂贵
也就是
也就是说
关键
关键字
变量
可以通过
官方
性能
文档
标志
系统
学习
影响
控制
支持
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
在德邦做软件开发
网络安全和网络道德主题班会教案
德阳软件开发方案
解包软件开发
微软数据库长什么样
对软件开发职业生涯长远规划
比特币网络安全问题
华为手机如何加强网络安全
免费征婚软件开发
中兴校招c++类软件开发
北京恩特沃克软件开发公司
数据库驱动版本有要求嘛
完美服务器是真的吗
军校学员网络安全教育
aveva软件开发
网络安全 管理队伍 建设
2021春季高考网络技术
为什么2k22服务器总是连不上
山西易物易购网络技术
本地文件远程发送服务器
网络安全英语演讲稿带翻译
菜篮子互联网科技
山西忻州首选dns服务器云主机
剑网1服务器互通吗
长乐服务器数据恢复
定制软件开发的确认
新浪show服务器连接
拍拍贷网络安全风险
中国跟网络安全有关的电视剧
excel表格自动填入数据库