14.6 隐藏索引

本文介绍了MySQL 8.x引入的隐藏索引特性,包括其在软删除和灰度发布场景中的应用。隐藏索引允许在不实际删除的情况下使索引对查询优化器不可见,降低了操作成本。详细讲解了隐藏索引的创建、查看、启用和禁用等操作,并提供了示例。
摘要由CSDN通过智能技术生成

14.6 隐藏索引

MySQL 8.x开始支持隐藏索引,隐藏索引不会被优化器使用,但是仍然需要维护。隐藏索引通常会在软删除和灰度发布的场景中使用。


14.6.1 隐藏索引概述

在MySQL 5.7版本之前,只能通过显式的方式删除索引,此时,如果发现删除索引后出现错误,又只能通过显式创建索引的方式将删除的索引创建回来。如果数据表中的数据量非常大,或者数据表本身比较大,这种操作就会消耗系统过多的资源,操作成本非常高。

从MySQL 8.x开始支持隐藏索引,只需要将待删除的索引设置为隐藏索引,使查询优化器不再使用这个索引,确认将索引设置为隐藏索引后系统不受任何响应,就可以彻底删除索引。这种通过先将索引设置为隐藏索引,再删除索引的方式就是软删除。

创建索引时,将索引设置为隐藏索引,通过修改查询优化器的开关,使隐藏索引对查询优化器可见,通过EXPLAIN对索引进行测试,确认新创建的隐藏索引有效,再将其设置为可见索引。这种方式就是灰度发布。


14.6.2 语法格式

创建隐藏索引同样可以使用ALTER TABLE和CREATE INDEX两种方式,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值