Mysql中九种索引失效场景分析

news2024/11/22 15:00:18

表数据:
在这里插入图片描述
索引情况:
在这里插入图片描述
其中a是主键,对应主键索引,bcd三个字段组成联合索引,e字段为一个索引

情况一:不符合最左匹配原则

在这里插入图片描述
去掉b=1的条件后就不符合最左匹配原则了,导致索引失效
在这里插入图片描述

情况二:不正确的like查询

正常使用like:
在这里插入图片描述
不正确使用like:
在这里插入图片描述
当使用like模糊查询时,如果不以%或者_开头进行查询的话,索引还是有效的。

对索引进行了计算或者使用了函数

在这里插入图片描述
在这里插入图片描述

对索引进行了类型转换

e字段的类型是varchar类型,下面这个sql需要把e字段中的字符转换为数字,会导致索引失效
在这里插入图片描述

使用<>不等于导致索引失效

在这里插入图片描述
使用b=1时,索引有效,使用b<>1时索引失效

order by导致索引失效

就算利用索引,但是由于select * 所以需要回表查询(MySQL回表是一个数据库查询优化的概念,主要是针对数据表中所使用的索引并不能覆盖查询语句中所需要的所有字段而引发的问题。这时,MySQL就需要回到数据表中重新查找需要的数据,这也就是回表的含义。),而且回表成本比较高,所以不会走索引。
在这里插入图片描述
如果是select b就不需要回表了,此时就会选择走索引
在这里插入图片描述

使用or会导致索引失效

在这里插入图片描述

select * 导致查询失效

在这里插入图片描述

范围查询数据量过多导致索引失效

新增一些数据:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

从LeakCanary看内存快照解析

在从LeakCanary看内存快照生成一节中&#xff0c;我们已经了解了hprof的生成&#xff0c;并且将生成的hprof文件通过Android Studio进行解析&#xff0c;确实发现了内存泄漏对象MainActivity&#xff0c;但是在实际开发中&#xff0c;要求开发者自己去手动pull hprof文件进行解…

应急物资管理系统|智物资DW-S300提升应急响应能力

项目背景 智慧应急物资管理系统&#xff08;智装备DW-S300&#xff09;是一套成熟系统&#xff0c;依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 本项目采用东识智慧应急物资管理…

ubuntu系统安装tensorRT-8.6.1版本(2023-8月最新版)

目录 前言pip安装可能出现的报错&#xff1a; tar.gz安装 前言 看了无数教程和b站视频&#xff0c;啊啊啊啊啊啊啊啊啊啊啊tensorRT要我狗命啊。我要写全网tensorRT最全的博客!!! 总体来说成功安装方式有两种&#xff0c;pip安装和tar.gz安装&#xff08;其实官网安装方式居多…

d3dx9_29.dll丢失如何修复?dll修复工具下载方法

大家好&#xff01;今天&#xff0c;我将为大家介绍一个与我们日常生活息息相关的话题——电脑d3dx9_29.dll丢失的6种修复方法。作为一名计算机专业的学生&#xff0c;我深知这个文件对我们电脑运行的重要性。在接下来的时间里&#xff0c;我将带领大家了解d3dx9_29.dll的作用、…

C#关于WebService中File.Exists()处理远程路径的异常记录

目录 前言方案一打开网站对应的程序池的高级设置按下图步骤设置凭据重启网站若方案一未能解决&#xff0c;请继续尝试方案二&#x1f447; 方案二从控制面板进入到 凭据管理器为windows凭据添加凭据点击**Windows凭据**&#xff0c;并点击**添加Windows凭据**键入远程路径的地址…

Java之API详解之Biginteger类的详解

6 BigInteger类 6.1 引入 平时在存储整数的时候&#xff0c;Java中默认是int类型&#xff0c;int类型有取值范围&#xff1a;-2147483648 ~ 2147483647。如果数字过大&#xff0c;我们可以使用long类型&#xff0c;但是如果long类型也表示不下怎么办呢&#xff1f; 就需要用…

DC-DC 升压电路、 升压模块原理

一、什么是 DC-DC 转换器&#xff1f; DC-DC 转换器是一种电力电子电路&#xff0c;可有效地将直流电从一个电压转换为另一个电压。 DC-DC 转换器在现代电子产品中扮演着不可或缺的角色。这是因为与线性稳压器相比&#xff0c;它们具有多项优势。尤其是线性稳压器会散发大量热量…

全民健康生活方式行动日,天猫健康联合三诺生物推出“15天持续测糖计划”

糖尿病是全球高发慢性病中患病人数增长最快的疾病&#xff0c;是导致心血管疾病、失明、肾衰竭以及截肢等重大疾病的主要病因之一。目前中国有近1.4亿成人糖尿病患者&#xff0c;科学的血糖监测和健康管理对于糖尿病患者来说至关重要。 在9月1日全民健康生活方式行动日前夕&am…

Shell编程之运算符

目录 算数运算符 关系运算符 文件运算符 逻辑运算符 算数运算符 注意&#xff1a; 原生bash不支持简单的数学运算&#xff0c;但是可以通过其他命令来实现&#xff0c; 例如 expr 常用算数运算符 加-减*乘/除%取余 示例如下&#xff1a; A2 B3 expr $[$A$B] expr $[$A-$…

C语言的数据类型简介

一、基本类型 &#xff08;1&#xff09;六种基本类型 **字符串常量和字符常量的不同 1&#xff09;‘a’为字符常量&#xff0c;”a”为字符串常量 2&#xff09;每个字符串的结尾&#xff0c;编译器会自动添加一个结束标志位‘\0’ “a”包含两个字符’a’和’\0’ &#x…

FPGA优质开源项目 – UDP万兆光纤以太网通信

本文开源一个FPGA项目&#xff1a;UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似&#xff0c;只不过万兆以太网是调用了Xilinx的10G Ethernet Subsystem IP核实现。 下面围绕该IP核的使用、用户接口…

Qt6.5安装教程——国内源

为什么离线包没了&#xff1f; Qt6开始非商业授权下&#xff0c;不再提供离线安装方式的exe&#xff0c;但源码安装费时费力&#xff0c;所以推荐安装方式已经为在线组件安装方式&#xff0c;包括vs2022、Qt在线安装工具已经成为开发工具新的安装趋势。 Qt是不是要放弃开源&…

服务器日志出现大量NTLM(NT LAN Manager)攻击

日志名称:Security 来源: Microsoft-Windows-Security-Auditing 日期: 2023/8/30 20:57:40 事件 ID:4625 任务类别:登录 级别: 信息 关键字: 审核失败 用户: 暂缺 计算机: WIN-QBJ3ORTR0CF 描述: 帐户登录失败。 主题: 安全 ID:NULL SID 帐户名:- 帐户域:- …

【软考】系统集成项目管理工程师(二)信息系统服务管理【2分】

一、信息技术服务标准 1、组成要素 组成要素描述人员提供IT服务所需的人员及其知识、经验和技能要求【正确选人】流程提供IT服务时&#xff0c;合理利用必要的资源&#xff0c;将输入转化为输出的一组相互关联和结构化的活动【正确做事】技术交付满足质量要求的IT服务应使用的…

搭建个人备忘录中心服务memos、轻量级笔记服务

目录 一、源码 二、官网 三、搭建 四、使用 一、源码 GitHub - usememos/memos: A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts. 二、官网 memos - Easily capture and share your great thoughts 三、搭建 docke…

js原生Unicode转中文

下面这个是一串正常的url https://editor.csdn.net/md?not_checkout10&spm1001.201001.9739&articleId27834274872转码过的字符串 https://editor.csdn.net/md?not_checkout1%26spm1001.2014.3001.9739%26articleid132576228上面这个代码如何再转回去 js通过decod…

springBoot--终

目录 Web定制SpringMVC定制某些mvc配置定制mvc核心组件完全自定义mvc 静态资源静态资源映射静态资源缓存示例自定义静态资源规则配置方式代码方式 欢迎页Favicon&#xff08;网站图标&#xff09;路径匹配策略内容协商制定返回json类型数据制定返回xml类型数据制定返回自定义类…

layui框架学习(43:文件上传模块-下)

上一篇文章介绍文件上传模块使用示例时介绍了done和error事件&#xff0c;这两个事件是在文件上传成功&#xff08;原文&#xff1a;在上传接口请求完毕后触发&#xff0c;但文件不一定是上传成功的&#xff09;及上传失败&#xff08;原文&#xff1a;请求上传出现异常&#x…

一篇文章带你快速入门使用Git

文章目录 前言一、什么是版本控制二、Git与SVN的主要区别三、下载及使用1.安装2.启动Git3.常用的Linux命令4.Git配置 四、Git基本理论1.三个区域2.工作流程 五、Git项目搭建1.创建工作目录与常用指令2.本地仓库搭建3.克隆远程仓库 六、Git文件操作1.文件的四种状态2.查看文件状…

ElasticSearch最全详细使用教程:入门、索引管理、映射详解

导读&#xff1a;本文介绍了ElasticSearch的必备知识&#xff1a;从入门、索引管理到映射详解。 一、快速入门 1. 查看集群的健康状况 http://localhost:9200/_cat http://localhost:9200/_cat/health?v 说明&#xff1a;v是用来要求在结果中返回表头 状态值说明 Green - eve…