MySQL8.0索引新特性

用STM32定时器PWM高级功能驱动步进电机:F103C8T6+TB6600实战教程 本文详细介绍了如何利用STM32F103C8T6微控制器的定时器PWM高级功能驱动TB6600步进电机驱动器,实现高效、灵活的运动控制方案。通过硬件配置、PWM参数计算、运动控制算法及TB6600高级功能应用的全面解析,为工业自动化和精密控制领域提供了实用的技术参考。 阅读详情

MySQL8.0索引新特性

支持降序索引

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

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

举例:分别在MySQL 5.7版本和MySQL 8.0版本中创建数据表ts1,结果如下:

CREATE TABLE ts1(a int,b int,index idx_a_b(a,b desc));
SHOW CREATE TABLE ts1;

MySQL8.0创建的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6c7e3Ipr-1647869743579)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320104032912.png)]

MySQL5.7创建的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XSJKUqfa-1647869743580)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320104201932.png)]

分别在MySQL 5.7版本和MySQL 8.0版本的数据表ts1中插入800条随机数据,执行语句如下:

DELIMITER //
CREATE PROCEDURE ts_insert()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i < 800
DO
insert into ts1 select rand()*80000,rand()*80000;
SET i = i + 1;
END WHILE;
commit;
END //
DELIMITER ;
#调用
CALL ts_insert();

在MySQL 5.7版本中查看数据表ts1的执行计划,结果如下:

EXPLAIN SELECT * FROM ts1 ORDER BY a,b DESC LIMIT 5;

从结果可以看出,执行计划中扫描数为799,而且使用了Using filesort。

提示 Using filesort是MySQL中一种速度比较慢的外部排序,能避免是最好的。多数情况下,管理员
可以通过优化索引来尽量避免出现Using filesort,从而提高数据库执行速度。

在MySQL 8.0版本中查看数据表ts1的执行计划。从结果可以看出,执行计划中扫描数为5,而且没有使用
Using filesort。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p0zBJGKp-1647869743581)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320105030802.png)]

注意 降序索引只对查询中特定的排序顺序有效,如果使用不当,反而查询效率更低。例如,上述
查询排序条件改为order by a desc, b desc,MySQL 5.7的执行计划要明显好于MySQL 8.0。

隐藏索引

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

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

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

索引默认是可见的,在使用CREATE TABLE,CREATE INDEX或者ALTER TABLE等语句时可以通过VISIBLE或者INVISIBLE关键词设置索引的可见性。

创建表时,创建隐藏索引:

DROP TABLE book7;
CREATE TABLE book7(
book_id INT  ,
book_name VARCHAR(100),
AUTHORS VARCHAR(100),
info VARCHAR(100) ,
COMMENT VARCHAR(100),
year_publication YEAR,
# 创建不可见索引
INDEX idx_cmt(COMMENT) invisible
);
SHOW INDEX FROM book7;

创建表之后创建隐藏索引

ALTER TABLE book7
ADD UNIQUE KEY uk_idx_bname(book_name) invisible;

SHOW INDEX FROM book7;

CREATE INDEX idx_year ON book7(year_publication) invisible;

修改索引的可见性

# 修改索引的可见性
ALTER TABLE book7 ALTER INDEX idx_year invisible;
ALTER TABLE book7 ALTER INDEX idx_year visible;

如果将index_cname索引切换成可见状态,通过explain查看执行计划,发现优化器选择了index_cname索
引。

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

使隐藏索引对查询优化器可见

在MySQL 8.x版本中,为索引提供了一种新的测试方式,可以通过查询优化器的一个开关(use_invisible_indexes)来打开某个设置,使隐藏索引对查询优化器可见。如果 use_invisible_indexes
设置为off(默认),优化器会忽略隐藏索引。如果设置为on,即使隐藏索引不可见,优化器在生成执行计
划时仍会考虑使用隐藏索引

  1. 在MySQL命令行执行如下命令查看查询优化器的开关设置
select @@optimizer_switch \G

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ulrvg6qF-1647869743581)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320111729396.png)]

此属性配置值为off,说明隐藏索引默认对查询优化器不可见。

  1. 使隐藏索引对查询优化器可见,需要在MySQL命令行执行如下命令:
set session optimizer_switch="use_invisible_indexes=on";

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eBVVV4w8-1647869743582)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320112046258.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zPW1VUmH-1647869743582)(C:/Users/losser/AppData/Roaming/Typora/typora-user-images/image-20220320112137301.png)]

基于 Simulink 的双向 DC/AC 逆变器中 IGBT/MOSFET 寄生参数影响分析实战教程 摘要:本教程详细解析了Simulink中IGBT/MOSFET寄生参数对双向DC/AC逆变器的影响。通过对比理想模型与含寄生参数(如20nH内部电感、50nH回路电感)的仿真,揭示了电压尖峰、高频振荡等实际问题。建模步骤包括搭建基准电路、引入寄生参数、配置高精度求解器(步长10ns),并给出抑制措施:添加RC缓冲电路、调整驱动电阻。关键发现:寄生参数会显著增加开关损耗和EMI噪声,需通过参数扫描优化设计。教程还提供了代数环报错、仿真速度优化等实战技巧,帮助工程师从理想仿真过渡到高保真分析。 阅读详情

相关推荐

避坑指南:MTK平台Widevine L1密钥安装全流程详解(含SP META工具使用与Log分析)

本文详细解析了MTK平台实现Widevine L1认证的全流程,涵盖密钥申请、格式转换、安全烧录等关键步骤,特别针对Trustonic TEE环境下的SP META工具使用与日志分析提供实用指南。帮助开发者规避常见错误,确保DRM密钥安全部署,满足高端内容保护需求。

weixin_27219587的博客 476

MySQL8.0版本新特性

MySQL8.0版本新特性

little_sc的博客 358

python画弗里德曼(Friedman) 检验和秩和检验(Nemenyi)检验图

python画弗里德曼(Friedman) 检验和秩和检验(Nemenyi)检验图 画好后效果图 实现代码如下 import matplotlib.pyplot as plt #算法平均排名 _alg_=[1.405,2.643,2.786,2.167] y=[1,2,3,4]#alg1,alg2,alg3,alg4 通过Nemenyi测试计算得到的临界值CD CD=1.024 h_CD=CD/2 plt.figure(figsize=(10,6)) plt.scatter(_alg_,y,s=10

大模型天花板 4464

关于在 MySQL 排序中使用索引这件事!

TienChin 视频杀青啦~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。前面跟小伙伴们分享的索引相关的内容,基本上都是在 where 子句中使用索引,实际上,索引也还有另外一个大的用处,那就是在排序中使用索引,今天我们就来聊聊这个话题。1. 排序的两种方式...

weixin_44742132的博客 1199

BMS | 从一串到几百串硬件架构简介

锂电池在生活中越来越多的方面扮演能源的角色,除了大家熟知的电动汽车行业,在一些消费类,工业类电子产品比如手机,电动自行车,电动工具中都有应用,追本溯源今天我们一起来学习下最基础的BMS架构。 1~4串架构 以S8241为代表的无通信/无固件/模拟器件 可实现过充保护、过放保护、过流/短路,参数由器件后缀代码决定;通信类手持设备供电系统;1~4节电池保护板架构 如图使用S-8241系列保护IC,一对充放电MOS管控制充放电的回路的切断和接通,系统供电来自于电芯电压,VM引脚用于检测过...

ningvay的博客 9917

数字信号的艺术演绎:用FPGA+DAC实现音乐合成器的核心原理

本文深入探讨了如何利用FPGA和DAC技术实现数字音乐合成器的核心原理,涵盖DDS架构、多波形合成、MIDI协议解析及动态包络控制等关键技术。通过详细的Verilog代码示例和硬件实现方案,展示了数字信号处理在音乐合成中的艺术演绎,为电子音乐创作提供了强大的硬件支持。

weixin_28256233的博客 390

mysql排序的骚操作-索引扫描

mysql 的InnoDB引擎,使用的B+树索引结构,天生的就是有序的;由于这个特性,可以通过合理的使用索引,来避免额外排序操作带来的损耗。下面举例说明 create table rental ( rental_id bigint default 0 comment 'id', rental_date datetime default now() comment '租赁日期', inventory_id bigint default 0 comment '商品ID',

秋元的博客 1043

Agent应用实践之三十六 - AgentScope高阶用法:AG-UI

AI 大模型飞速进化,不懂 AI、不会用 Agent 的程序员,正在慢慢被行业淘汰。现在 AI 新技术迭代快到离谱:RAG 还没学明白,MCP 接踵而来;工具刚上手,Skills、各类新 Agent 概念又轮番刷屏;Manus还没看懂,就出来OpenClaw,OpenClaw热度还没退,又出来Hermes。越追越乱、越学越焦虑,永远在被动跟风,陷入学不完、跟不上、用不上的内耗。其实焦虑的根本原因,不是新技术太多,而是不懂大模型 Agent 应用底层原理,只会零散跟风,没有通用方法论。为此我专门推出Agent

代码让AI扣 139

MySQL8.0中你不得不知道的索引新特性

MySQL中的索引可以为提高我们的查询效率,相比较于低版本, MySQL 8.0中针对索引做了不少的优化,本文主要分享下MySQL8.0中关于索引的两个新特性,这两个新特性都非常好用,希望大家可以在日常的开发中根据实际场景用起来。本文分享了MySQL8.0中关于索引的两个新特性,一个是支持降序索引,另外一个是支持隐藏索引,他们都是有着非常强的实用价值的。如果本文对你有帮助,请留下一个赞吧。

m0_73311735的博客 445

DP83869HM的LWIP性能测试

E:/Xilinx/Vitis/2021.1/data/embeddedsw/ThirdParty/sw_services/lwip211_v2_0/src/contrib/ports/xilinx/netif/xemacpsif_physpeed.c文件中的。然后phy_setup_emacps中调用get_IEEE_phy_speed函数,根据PHY的ID判断出Marvell或TI或Realtek的PHY,调用对应的网速自动协商函数get_TI_phy_speed,该函数中的部分配置需要注释。

FPGA艺术家的博客 356

把 ABAP Smart Form 输出变成可直接下载的 PDF 二进制:OTF 到 XSTRING 的一条龙实践

SAP Smart Forms 生成 PDF 的实用方案:通过 OTF 格式转换实现高效输出。Smart Forms 本身不直接生成 PDF,而是输出 OTF 格式数据,需通过 CONVERT_OTF 函数转换。本文提供两种实现路径:传统的 Spool 方式和更优的直接获取 OTF 方式,后者避免了 Spool 的维护负担。核心代码演示了如何通过设置 GETOTF 参数获取 OTF 数据,并转换为 PDF 二进制流,适用于前端下载、接口传输等场景。同时介绍了 SSF_OPEN/SSF_CLOSE 方法用于批

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 675

MySQL8.0中索引的新特性(降序索引、隐藏索引)

主要讲解MySQL8.0中索引的新特性,降序索引和隐藏索引

G_amazing的博客 1163

Python地理数据处理 十七:植被物候提取和分析(Savitzky-Golay)

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于生态工程保护建设和植被自然生长等因素,中国陆地生态系统发挥了重要的碳汇作用。因此,定量评估植被时空动态变化是制定生态系统可持续发展目标和衡量生态系统固碳潜力的重要前提,卫星遥感数据衍生的生态参量产品为研究长时间序列全球及区域植被时空变化提供了重要数据源。SG滤波能够对物候信息进行平滑,并提取其中的物候信息

amyniez的博客,欢迎交流讨论 4247

MySQL索引的创建、删除以及MySQL8.0索引新特性:支持降序索引、隐藏索引

文章目录1.索引的分类1.1 普通索引1.2 唯一性索引1.3 主键索引1.4 单列索引1.5 多列索引1.6 全文索引1.7 空间索引2.索引的声明与使用2.1 创建索引2.1.1 创建表时创建索引2.1.2 创建表时创建索引2.1.3 参数含义2.2 删除索引3.MySQL8.0索引新特性3.1 支持降序索引3.2 隐藏索引3.2.1 隐藏索引的作用3.2.1 隐藏索引的创建3.2.1.1 创建表时创建隐藏索引3.2.1.1 创建表后创建隐藏索引3.2.2 修改索引的可见性3.2.3 注意 1.索引的分

weixin_46245201的博客 2237

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

新特性解读 | MySQL 8.0 索引特性3 -倒序索引

作者:杨涛涛 我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引。 MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉。 比如对于以下的查询,无法发挥索引的最佳性能。 查询一: select * from tb1 where f1 = ... order by id desc; 查询二: select * from tb1 wh...

ActionTech的博客 265

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MySQL8.0索引新特性:颠覆了我对索引的认知

欢迎关注方志朋的博客,回复”666“获面试宝典来源:http://dbapub.cn/函数索引在MySQL8.0之前对条件字段做函数操作、或者做运算都将不会使用字段上的索引,例如下面的例子...

方志朋的博客 1499

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql 8.0 in 索引_MySQL 8.0新特性 — 不可见索引

前言在MySQL 8.0中,引入了不可见索引的新特性;不可见索引,是指实际存在但不会被优化器选用的索引。有童鞋就会问,不可见索引究竟有什么用?虽然在大多数情况下,业务系统新模块的上线,是需要经过充分测试;索引的创建与删除,也是需要经过测试环境的验证;但是生产环境的复杂性,有时候是测试环境无法完全模拟的,包括环境配置不一样、并发量不一样、模块间关联未充分测试等等。在这个时候,不可见索引的作用就体现出...

weixin_39707725的博客 281

倒序排序_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

原创: 杨涛涛我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引。MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉。比如对于以下的查询,无法发挥索引的最佳性能。查询一:select * from tb1 where f1 = ... order by id desc;查询二:select * from tb1 where f1 = ... order b...

weixin_32109109的博客 241

c语言 字符串 正序再倒序_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

原创作者:杨涛涛我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引。MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉。比如对于以下的查询,无法发挥索引的最佳性能。查询一:select * from tb1 where f1 = ... order by id desc; 查询二:select * from tb1 where f1 = ... order...

weixin_39682560的博客 303

MySQL8.0的索引搞出来新特性,请面试官注意啦,之前的规则要改啦~

程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 8.5 分钟。作者:LuHengXing来源:dbapub.cn# 函数索引在MySQL8.0之前对条件字段做函数操作...

良月柒 503

mysql8添加索引_MySQL8.0新特性-新的索引方式

三种新的索引方式1、隐藏索引MySQL8.0 支持隐藏索引(invisible index),不可见索引隐藏索引不会被优化器使用,但需要维护。应用场景:软删除、灰度发布。软删除:不确定当前索引是否需要删除的时候,软删除,不会彻底删除,可以恢复索引,不需要重新创建,但需要维护。灰度发布:测试索引,对当前数据库不会参生太多影响,确认有效后,可以取消隐藏,改变为正常索引。操作:create table ...

weixin_30929623的博客 1519

MySQL 8.0新特性—降序索引

降序索引(Descending Indexes) 先看下MySQL官方文档介绍: DESC in an index definition is no longer ignored but causes storage of key values in descending order. Previously, indexes could be scanned in reverse order but at a performance penalty. A descending index can be sc

fangmeng1997的博客 310

MySQL8.0 新特性函数索引

MySQL8.0函数索引功能介绍及使用示例

zxrhhm的博客 2475

MySQL8.0索引新特性—支持降序索引与支持隐藏索引

MySQL中的索引可以为提高我们的查询效率,相比较于低版本, MySQL 8.0中针对索引做了不少的优化,本文主要分享下MySQL8.0中关于索引的两个新特性,这两个新特性都非常好用,希望大家可以在日常的开发中根据实际场景用起来。

Java_LingFeng的博客 1178

【宋红康 MySQL数据库 】【高级篇】【10】索引的创建与删除_MySQL8.0的索引新特性

索引的创建与删除_MySQL8.0的索引新特性

Keep Reading Keep Writing Keep Thinking 1331
上一篇: 索引的分类与使用
下一篇: 索引的设计原则
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值