【MySQL进阶之路 | 高级篇】MySQL8.0索引新特性->降序索引与隐藏索引

news2024/11/24 18:08:36

1. 支持降序索引

降序索引以降序存储键值.虽然在语法上,从MySQL4版本已经支持降序索引的语法了,但实际上该DESC定义是被忽略的.知道MySQL8.x版本才开始真正支持降序索引.(仅限于InnoDB存储引擎).

MySQL在8.0版本前创建的仍然是升序索引,使用时进行反向扫描,大大降低了数据库的效率.在某些场景下,降序索引的意义重大(反向存储,正向扫描,效率高).例如,一个查询需要对多个列进行排序,且顺序要求不一致,那么使用降序索引将避免数据库使用额外的文件排序操作,从而提高性能.

CREATE TABLE demo5(
a INT,
b INT,
INDEX demo5_index(a ASC, b DESC)
)

show index from demo5;

cd37d332ff6a4a2a9347c041a9fe9ca0.png

2. 隐藏索引

在MySQL5.7以前,只能通过显式的方式删除索引.此时,如果发现删除的索引后出现错误,又只能通过显式创建索引的方式将删除的索引创建回来.如果数据表的数据量非常大的话,或者数据表本身很大,这种操作会消耗系统过多的资源,操作成本非常高.

从MySQL8.0开始支持隐藏索引.只需要将索引设置为隐藏索引,使查询优化器不再使用这个索引(即使使用force index强制使用索引,优化器也不会使用),确定索引设置为隐藏后系统不受任何响应,就可以彻底删除索引.这种通过将索引设置为隐藏索引,再删除索引的方式就是软删除.

同时,如果你想验证某个索引删除后的查询性能,也可以暂时隐藏该索引.

注意 : 主键不能设置为隐藏索引.当表中没有显式主键时,表中第一个唯一非空索引成为隐式主键,其也不能被设置为隐藏.

索引默认是可见的.可以通过visible,invisible关键字设置索引的可见性.

(1). 创建表时隐藏索引

CREATE TABLE demo6(
a INT,
b INT,
INDEX demo6_index(a) INVISIBLE
);

show INDEX FROM demo6;

(2). 建表后,添加隐藏索引

ALTER TABLE demo6 
ADD INDEX demo6_index_a(b) invisible;

f3c7acf9d975424faec67ceff2bbbb00.png

注:

当索引隐藏后,它的内容仍然跟正常索引一样实时更新的.如果一个索引需要长期被隐藏,可以将其删除,因为索引的存在会影响插入更新删除的性能.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1861981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PADS系列:如何导入元件库新建元件

对于普通的原理图,位置的摆放是比较随意的,并且也没有一些特殊的或者元件库里面没有的元件,相对来说绘制会比较简单。但是如果碰上复杂一点的电路,要绘制起来就会比较麻烦,需要一些新的PADS使用技巧,最基础…

云计算考试题

Cloud ❀ 云计算-虚拟化常见的两种架构_裸金属架构和宿主型架构的区别-CSDN博客 为啥要成2 11 bcd 16 acd abcd BCD NAS为啥支持文件存储的协议 选BCD 什么是网络文件系统 选bcd 错题 选abc 选bcd 选 abd

NetSuite Account Merge 科目合并功能分析

最近项目中,客户有提到过能否将不用的Account与新建的Account进行合并,即我们所说的Merge功能~可以,但是该功能有使用的限制,比如最直接的一点需要注意,不同类型的Account是不可以使用Merge功能的&#xff…

c++内存管理_复习

new与placement new new: 先调用operator new(大小),而operator new()会调用malloc尝试分配内存,失败则调用_callnewh()来释放内存,直至分配成功 可以设置分配失败的处理函数:将写好的处理函数作为参数传入set_new_han…

一文2000字记录基于jmeter+perfmon的稳定性测试

01、任务情况 1、任务总览 本次平台稳定性测试的目的在于:在服务器压力处于较饱和(达到80%系统最大TPS)压力之下,在较长时间(>8小时)之内观测服务器稳定性问题,以及资源使用情况和异常。 …

清科ZF引导基金数据(1990-2023年)

清科ZF引导基金数据,参考经济学家吴超鹏和严泽浩在《经济研究》2023年的研究,通过清科私募通数据库,获取ZF引导基金的管理机构信息。数据涵盖了ZF引导基金的关键信息,如基金名称、管理机构详情、所属层级、发展阶段、地域分布、初…

渗透测试之SQL注入

渗透测试之SQL注入 1. SQL注入分类 按照攻击类型分为:联合查询注入、布尔注入、时间延迟注入、报错型注入、堆叠型注入等 按照注入位置分为:HTTP头注入、请求参数注入等 按照数据库场景分为:MySQL注入、MSSQL注入、Oracle场景注入 1. My…

【D3.js in Action 3 精译】1.1.2 D3.js 的适用场景

译注 上一节中我们了解了 D3 诞生的技术背景——为了满足 Web 可访问数据的可视化需求。本节再来看看 D3.js 的适用场景是怎样的、在什么时候会考虑使用 D3.js。 1.1.2 D3.js 的适用场景 数据可视化领域正蓬勃发展,且备受青睐。过去十年间用于生成数据驱动图形的工…

中小学劳技课程开展创意木工 传承非遗木工魅力

学生劳技课程,全称劳动技术课程,是一门旨在通过实践活动培养学生的劳动技能、创新思维、实践能力和社会责任感的基础教育课程。这门课程强调学生的参与和体验,让学生在动手实践中学习并掌握知识,提高解决问题的能力。 学生劳技课程…

Charles抓包工具系列文章(四)-- Rewrite 重写工具

一、背景 这是一款比Map Local/Remote 还强大的工具,更加灵活,体现在以下几点: 重写request报文重写response报文header 字段的增删改query param 字段的增删改重写 body 字段改写http 响应状态status重写host/url/path 从这也可以看出其强…

【链表经典算法OJ题】(2)

4.链表的中间节点 单链表相关经典算法OJ题4: 链表的中间结点 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problem…

计算机网络之入门

1.网络的发展 1.1计算机网络定义 计算机网络是以共享资源(硬件、软件和数据等)为目的而连接起来的、在协议控制下,由一台或多台计算机、若干台终端设备、数据传输设备等组成的系统之集合。 这些计算机系统应当具有独立自治的能力&#xff…

关于导入springcloud项目一些jar加载不进去的问题处理

IntelliJ IDEA的Maven项目有时候通过右边Maven Projects面板的package或者install命令打包的时候,会报错导致打包失败,这是由于这两个命令打包前默认会运行tests测试,若测试失败则打包失败。但是有时候我们打包的时候一些项目配置是针对生产环…

SpringCloud Alibaba Seata2.0基础入门与安装

官网地址:https://seata.apache.org/zh-cn/ GitHub下载地址:https://github.com/apache/incubator-seata/releases 本文这里下载的是seata2.0.0版本。 【1】概述 ① Seata是什么 Simple Extensible Autonomous Transaction Architecture&#xff0c…

【代码】c++几个常用的函数

Hello!大家好,我是学霸小羊,今天讲讲c函数库里面的几个基本函数。 1.sort() sort()是大名鼎鼎的排序函数,以前起码一两个循环的排序,用这个函数一行代码就可以解决。 格式: sort(数组名""开始下标&#…

iOS开发者模式自带弱网测试工具

弱网测试的思路 弱网功能测试:2G/3G/4G、高延时、高丢包 无网状态测试:断网功能测试、本地数据存储 用户体验关注:响应时间、页面呈现、超时文案、超时重连、安全及大流量风险 网络切换测试:WIFI → 4G/3G/2G → 网多状态切换…

高考填报志愿,为何要优先考虑个人兴趣 ?

随着高考成绩纷纷出炉,考生又要面对人生另外一个重要的选择,那便是填报志愿,这关系到自己能否进入满意的学校和专业。如果考生对上述两个方面都不满意,那高考目的就没有达到。既然填报志愿如此重要,考生和家长在选择的…

MFC案例:自制工具条(Toolbar)按钮的小程序

程序目标:在基于对话框的MFC项目中,自制三个 Toolbar 按钮(用颜色区分,分别为红、绿、蓝);程序运行时,单击红色按钮显示一个红色的填充椭圆;再单击绿色按钮则进行清屏;最…

【YOLO 系列】基于YOLO V8的密集场景下行人检测识别系统【python源码+Pyqt5界面+数据集+训练代码】

前言 在密集的城市环境中,行人检测对于公共安全、交通管理和智能监控具有重要意义。然而,传统的行人检测方法在面对密集场景时,常常因目标重叠和遮挡而难以准确识别。为了应对这一挑战,我们启动了这个项目,目的是利用…

江苏隆昌化工上线隆道平台 采购管理迎来全面升级

当前,传统产业与数字产业深度加速融合,大数据、云计算、人工智能等新技术推动产业深刻变革,能源化工行业迎来战略转型加速期。数字化转型已成为能源化工企业提升运营效率、控制运营成本、提高产品质量、打造竞争优势的强大引擎。为实现传统采…