MySQL存储引擎如何优化索引搜索的

news/2024/9/5 19:30:39 标签: mysql, 数据库

索引覆盖

就是查询字段在索引的B+树的叶子节点里

索引下推

innoDB会在存储层进行一些判断,而不是发送回server层,减少一些开销

MRR(Multi-Range Read)机制

回表不仅仅是磁盘io的问题,更恐怖的事磁盘的随机io!想想这样一种情况:
我通过索引找到了score在20-30范围内的学生,找到后用id去聚簇索引找数据,也就是回表。结果发现他们id范围是1-4,36-49,4-5,77-88,在磁盘上不停在不同页之间切换,这可咋整?
MRR机制就是解决这个事情的。他会把score得到的id,放到缓冲区的read_rnd_buffer,得到所有id后排个序,然后用排序了的id,再去回表。

Index Skip Scan索引跳跃式扫描

这个是MySQL8之后才有的,不过通常发挥不出来。
工作流程就是(ABC)索引后,执行下面这种查询

SELECT * FROM `tb_xx` WHERE B = `xxx` AND C = `xxx`;

乍一看没法用到索引,但实际上会执行下面的查询,把所有BC符合情况的可能的A都查出来,然后union,一句话概括:

SELECT * FROM `tb_xx` WHERE B = `xxx` AND C = `xxx` AND A = "yyy"
UNION
...
SELECT * FROM `tb_xx` WHERE B = `xxx` AND C = `xxx` AND A = "zzz";

为啥通常发挥不出来呢?
因为有巨多的限制:多表联查时无法触发、SQL条件中有分组操作也无法触发、SQL中用了DISTINCT去重也无法触发…


http://www.niftyadmin.cn/n/5221408.html

相关文章

SELinux零知识学习三十五、SELinux策略语言之角色和用户(6)

接前一篇文章:SELinux零知识学习三十四、SELinux策略语言之角色和用户(5) 三、SELinux策略语言之角色和用户 SELinux提供了一种依赖于类型强制(类型增强,TE)的基于角色的访问控制(Role-Based Access Control),角色用于组域类型和限制域类型与用户之间的关系,SELinux…

java BASE64Encoder BASE64Decoder 废弃

背景 警告: BASE64Decoder是内部专用 API, 可能会在未来发行版中删除”或“警告: BASE64Encoder是内部专用 API, 可能会在未来发行版中删除 BASE64Encoder是在sun.misc包下,即:sun.misc.BASE64Encoder。这是sun公司的内部方法,不在jdk标准库…

七、Lua字符串

文章目录 一、字符串(一)单引号间的一串字符(二)local str "Hello, "(三)[[ 与 ]] 间的一串字符(四)例子 二、字符串长度计算(一)string.len&…

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。 一般来说出现这个问题是因为使用git版本控制工具合并代码出现了问题&#xff0c;想要解决也很简单。 如图点击错误后定位到文件&#xff0c;发现也没有什么问题。 根据错误后边的提示&a…

ECShop 4.x collection_listSQL注入

漏洞描述 ECShop是一款B2C独立网店系统&#xff0c;适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序 影响版本&#xff1a;ecshop4.0.7及以下 漏洞环境及利用 docker环境搭建 访问8080端口&#xff0c;数据库主机为mysql&a…

linux 命令 sudo、su 命令

sudo命令详解 1、初识sudo sudo是linux下常用的允许普通用户使用超级用户权限的工具&#xff0c;sudo 用来执行需要提升权限&#xff08;通常是作为 root 用户&#xff09;的命令&#xff0c;允许系统管理员让普通用户执行一些或者全部的root命令&#xff0c;如halt&#xff…

西北大学计算机844考研-23年计网计算题详细解析

西北大学计算机844考研-23年计网计算题详细解析 1.计算无传输差错状态下停止—等待ARQ协议效率,电磁波传播速率为2*10^8m/s&#xff0c;链路长为2000m&#xff0c;帧长度为1000比特&#xff0c;计算传输速率10kbps及10Mbps时的协议效率&#xff08;即信道利用率&#xff09; …

SSM跆拳道网站系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 跆拳道网站系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…