MySQL 8.0 隐藏索引

2023-11-02

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

转载于:https://blog.51cto.com/11103985/2340135

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 8.0 隐藏索引 的相关文章

  • 超级账本PBFT(拜占庭容错)算法详解

    上一章我们从分布式系统的角度简单叙述了一下 IBM HyperLedger fabric 的一些基本概念 架构和协议信息 其中最为核心的部分就是共识算法 consensus plugin fabric推荐并实现的就是PBFT这一经典算法 B

随机推荐

  • 弱监督学习--半监督学习(3):Mean teachers are better role models

    前言 论文链接 https arxiv org pdf 1703 01780 pdf github https github com CuriousAI mean teacher Mean Teacher 模型是由芬兰的一家AI初创公司在2
  • c语言怎样的序列满足堆,C语言堆排序法谁能通俗易懂又清晰地讲解一下?谢谢...

    您可以找本数据结构的书看看 比如清华严尉敏的 数据结构 以下摘抄于 http student zjzk cn course ware data structure web paixu paixu8 4 2 1 htm 这个网站的讲解挺不错
  • Android OpenGL ES2.0(一):详细讲解如何绘制一个三角形

    一 Android OpenGL ES2 0简介 1 什么是OpenGL OpenGL 全写Open Graphics Library 是指定义了一个跨编程语言 跨平台的编程接口规格的专业的图形程序接口 它用于三维图像 二维的亦可 是一个功
  • 缓存怎么测试?

    1 缓存的介绍 平时用的Redis缓存是一款高性能的内存型键值对 key value 数据库 是高并发场景常用一款存储中间件 其主要用于 缓存热点数据 减少DB的请求IO 其场景使用主要有 分布式锁 全局ID 计数器 限流 消息队列 购物车
  • 垃圾回收机制

    目录 一 为什么要有垃圾回收 二 垃圾回收主要回收哪个内存区域 三 垃圾判断算法 1 引用计数法 2 可达性分析法 四 垃圾回收算法 1 标记 清除算法 2 标记 整理算法 3 复制算法 4 分代收集算法 一 为什么要有垃圾回收 在 JVM
  • DRF请求与响应

    目录 Request类 常用参数 Response类 请求编码与相应编码 相应编码 Request类 经过rest framwork 传入视图函数的request已经不是原来的request了 而是Request的类产生的对象request
  • Docker 安装 Nginx(三)

    Nginx 是一个高性能的 HTTP 和反向代理 web 服务器 同时也提供了 IMAP POP3 SMTP 服务 以前没有用Docker时 直接在服务器中下载 安装 修改配置 运行Nginx 一套完整流程下来花费的时间也就那样 但是 自从
  • RabbitMQ - 消息堆积问题的最佳解决方案?惰性队列

    目录 一 惰性队列 1 1 消息堆积问题 1 2 消息堆积问题的解决方法 从消费者的角度 从队列的角度 1 3 引入惰性队列 1 3 1 什么是惰性队列 1 3 2 惰性队列的使用 1 3 3 效果演示 一 惰性队列 1 1 消息堆积问题
  • StringUtils.isEmpty和StringUtils.isBlank用法

    a target blank href http blog csdn net ocean20 article details 6674077 转载自 http blog csdn net ocean20 article details 66
  • Ubuntu22.04编译安装FFmpeg

    FFmpeg介绍 概述 FFmpeg是一款用C语言编写的跨平台免费开源多媒体处理工具 该软件可实现音视频的采集 编解码 转码 过滤以及流媒体相关操作等功能 同时 FFmpeg也为其他多种语言和操作系统提供了开发组件 包括Java Pytho
  • Android的init过程:init.rc解析流程

    这几天打算看下安卓的代码 看优秀的源码也是一种学习过程 看源码的过程就感觉到 安卓确实是深受linux内核的影响 不少数据结构的用法完全一致 花了一中午时间 研究了下init rc解析过程 做个记录 init rc 文件并不是普通的配置文件
  • Ant内置任务之unjar/untar/unwar/unzip

    一 概述 unjar untar unwar unzip是Ant内置任务 用于解压zip war或jar文件 PatternSet用于选择从存档中提取的文件 资源集合用于选择执行解压的存档文件 Unjar Unwar Unzip只支持基于文
  • 并发编程系列之Fork/Join

    前言 上节我们讲了阻塞队列 Java中的并发容器就算有了个基本的认识 今天我们来介绍一种线程工作模式 叫Fork Join 他是JDK7之后提供的一个并行执行框架 主要的思想我觉得是分而治之 将一个大的任务分成多个小的任务并行执行 然后等所
  • 成为技术传播者(二):Why and Why NOT

    前文 成为技术传播者 一 写在前面 Contributing to Eclipse的开篇第一句话说得很有味道 Humans need to feel nurtured and cared for Humans also need to nu
  • 关于vs编译错误CL.exe已退出的解决方案

    IDE问题 VS2010突然无法编辑C 项目 会报错误 30 error MSB6006 CL exe 已退出 代码为 1073741701 这个问题是 我也碰到了 你改一下设置就好了 一劳永逸 随便打开一个项目 点击 视图 gt 属性管理
  • Vue 项目打包之后,CSS 找不到问题

    Vue 项目打包之后 CSS 找不到问题 记录日常开发中遇到的 坑 问题 我把vue项目打包之后放在本地的web环境下可以正常显示 但是我放到 nginx 服务器之后 找不到 css 文件 当时配置如下图 解决办法 我将 打包的路径从 v4
  • fastx常用控件

    目录 表格控件 bootstrap table 日历控件 bootstrap datepicker 通用帮助框 单选 多选 bootstrap标签页 通过设置数据字典来设置下拉框的值 表格控件 bootstrap table 自带搜索框 等
  • c++文件读写操作

    1 声明头文件 include 2 实例化对象 ifstream fin ifstream是中的一个类 fin是一个实例化对象 之所以起这个名字是类比cin 实际上他们有很多相似的地方 3 fin open 文件名 打开方式 本文的打开方式
  • 【机器视觉】——裂纹检测笔记

    目录 传统算法处理裂缝的基本思路 第一种思路 第二种思路 第三种思路 CPP代码 halcon代码 python代码 Matlab代码 深度学习缺陷检测 裂缝检测文献 传统算法处理裂缝的基本思路 第一种思路 1 先转换彩色图为灰度图 2 进
  • MySQL 8.0 隐藏索引

    隐式索引 最明显的一个作用类似 索引回收站 例如数据库长时间运行后 会积累很多索引 做数据库优化时 想清理掉没什么用的多余的索引 但可能删除某个索引后 数据库性能下降了 发现这个索引是有用的 就要重新建立 对于较大的表来说 删除 重建索引的