mysql索引失效的情况

目录

    • 1破坏最左前缀法则
    • 2在索引列上做任何计算、函数操作,会导致索引失效而转向全表扫描。
    • 3存储引擎不能使用索引中范围条件右边的列
    • 4Mysql在使用不等于时无法使用索引会导致全表查询
    • 5is null可以使用索引,但是is not null无法使用索引
    • 6like以通配符开头会使索引失效导致全表扫描。
    • 7字符串不加单引号或双引号索引会失效。
    • 8使用or连接时索引失效
  • 参考

给students表中插入数据

INSERT INTO students(sname,age,score,time) VALUES('小明',22,100,now());
INSERT INTO students(sname,age,score,time) VALUES('小红',23,80,now());
INSERT INTO students(sname,age,score,time) VALUES( '小绿',24,80, now());
INSERT INTO students(sname,age,score,time)VALUES('小黑',23,70,now());

创建联合索引

alter table students add index idx_sname_age_score(sname,age,score) ;

1破坏最左前缀法则

联合索引从左到右的顺序为sname,age,score,如果where之后的查询语句,破坏索引的顺序,就会出现索引失效。如:

explain select * from students where age = 22 and score = 100;

在这里插入图片描述

2在索引列上做任何计算、函数操作,会导致索引失效而转向全表扫描。

如:使用left函数

explain select * from students where left(sname,2) = "小明";

在这里插入图片描述

3存储引擎不能使用索引中范围条件右边的列

联合索引sname,age,score,只能使用sname,age

explain select * from students where sname="小明" and age > 22 and score = 100;

在这里插入图片描述

4Mysql在使用不等于时无法使用索引会导致全表查询

sname索引无法使用,会进行全表查询

explain select * from students where sname !="小明";

在这里插入图片描述

5is null可以使用索引,但是is not null无法使用索引

explain select * from students where sname is null;

在这里插入图片描述

explain select * from students where sname is not null;

在这里插入图片描述

6like以通配符开头会使索引失效导致全表扫描。

lexplain select * from students where sname like "%明";

在这里插入图片描述

7字符串不加单引号或双引号索引会失效。

explain select *from students where sname = 123;

在这里插入图片描述

8使用or连接时索引失效

explain select * from students where sname="小明" or age = 22;

在这里插入图片描述

参考

链接: 索引优化

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

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

相关文章

Packet Tracer - Configure AAA Authentication on Cisco Routers

Packet Tracer - 在思科路由器上配置 AAA 认证 地址表 目标 在R1上配置本地用户账户,并使用本地AAA进行控制台和vty线路的身份验证。从R1控制台和PC-A客户端验证本地AAA身份验证功能。配置基于服务器的AAA身份验证,采用TACACS协议。从PC-B客户端验证基…

软件测试|测试平台开发-Flask入门:Flask动态路由

前言 之前我们介绍了flask发送http请求,以及flaskURL的详解,我们使用的路由都是固定的,一个路径和一个视图函数绑定,当访问这条路径时会触发相应的处理函数。但是当我们要处理更为复杂的情况时,比如我们有多个用户&am…

Mybatis面经

Mybatis 📑前言 本文主要是【Mybatis】——Mybatis面经的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每…

【书生·浦语大模型实战营03】《基于 InternLM 和 LangChain 搭建你的知识库》学习笔记

《基于 InternLM 和 LangChain 搭建你的知识库》 常见术语 RAG: Retrieval Augmented Generation,检索增强生成 1. 大模型开发范式 1.1 RAG VS Finetune RAGFinetune低成本可个性化微调可实时更新知识覆盖面广受基座模型影响大成本高昂单次回答知识有限无法实时…

Elasticsearch:Search tutorial - 使用 Python 进行搜索 (二)

这个是继上一篇文章 “Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (一)” 的续篇。在今天的文章中,我们接着来完成如何进行分页及过滤。 分页 - pagination 应用程序处理大量结果通常是不切实际的。 因此&#xff0…

代码随想录二刷 |二叉树 | 验证二叉搜索树

代码随想录二刷 |二叉树 | 验证二叉搜索树 题目描述解题思路递归法迭代法 代码实现递归法迭代法 题目描述 98.验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子…

Eureka的自我保护机制

一:Eureka的自我保护机制是什么? 保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不…

关于电脑屏幕亮度的调整,看这篇文章就够了

你可能需要定期更改屏幕亮度。当外面很亮的时候,你想把它调大,这样你就能看到。当你在黑暗的房间里时,你会希望它变暗,这样就不会伤害你的眼睛。降低屏幕亮度也有助于节省电力并延长笔记本电脑的电池寿命。 除了手动更改屏幕亮度外,Windows还可以通过多种方式自动更改屏幕…

Pytorch常用的函数(六)常见的归一化总结(BatchNorm/LayerNorm/InsNorm/GroupNorm)

Pytorch常用的函数(六)常见的归一化总结(BatchNorm/LayerNorm/InsNorm/GroupNorm) 常见的归一化操作有:批量归一化(Batch Normalization)、层归一化(Layer Normalization)、实例归一化(Instance Normaliza…

【React系列】React生命周期、setState深入理解、 shouldComponentUpdate和PureComponent性能优化、脚手架

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 生命周期 1.1. 认识生命周期 很多的事物都有从创建到销毁的整个过程,这个过程称之为是生命周期&…

案例分析——如何优化跨境直播网络

跨境直播 风口已至 这些年越来越多商家加入直播带货行列,各种玩法日渐成熟。而TikTok作为当前国外最火爆的直播平台,不少卖家都会定期做TikTok直播引流,但时常会面临着远程访问导致直播画面模糊、卡顿掉线、延迟高,甚至可能限流黑…

Django 4.2.7 ORM 连接MySQLServer 完成单表CRUD

文章目录 Django ORM介绍1.使用pycharm新建一个Django项目2.修改settings.py文件中 DATABASES3.创建APP4.创建模型5.操作数据库 Django ORM介绍 Django 模型使用自带的 ORM。 对象关系映射(Object Relational Mapping,简称 ORM )用于实现面向…

OpenHarmony内存泄漏指南 - 解决问题(综合)

本系列文章旨在提供定位与解决OpenHarmony应用与子系统内存泄露的常见手段与思路,将会分成几个部分来讲解。首先我们需要掌握发现内存泄漏问题的工具与方法,以及判断是否可能存在泄漏。接着需要掌握定位泄漏问题的工具,以及抓取trace、分析tr…

Golang : Bson\Json互转

代码 package bson_jsonimport ("encoding/json""errors""fmt""gopkg.in/mgo.v2/bson""os""testing" )type User struct {Name string json:"name,omitempty" bson:"name,omitempty"CSD…

静态网页设计——天行九歌(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 感谢大佬的视频:https://www.bilibili.com/video/BV1de411m7y4/?vd_source5f425e0074a7f92921f53ab87712357b 源码:https://space.bilibili.com…

java回溯算法、最短路径算法、最小生成树算法

回溯算法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 最短路径算法 从某顶点出发,沿图的边到达另一顶点所经过的路径中…

高通开发系列 - toolchain交叉编译器编译kernel以及生成boot镜像

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 背景概述分析过程generate_defconfig.sh脚本环境准备合并其他几个配置文件开始编译生成dtb镜像

Python-PyQt5树莓派上位机

Python-PyQt5树莓派上位机 一个使用PythonQT设计的树莓派的上位机,功能大概如下 1.笔记本电脑与树莓派的通讯是否成功显示(给个信号显示判断是否通讯成功); 2.阈值的设置显示; 3.图像成像的显示; 4.是否发生…

【python爬虫】如何开始写爬虫?来给你一条清晰的学习路线吧~

记录一下我自己从零开始写python爬虫的心得吧! 我刚开始对爬虫不是很了解,又没有任何的计算机、编程基础,确实有点懵逼。从哪里开始,哪些是最开始应该学的,哪些应该等到有一定基础之后再学,也没个清晰的概…

模糊综合评价

第一步:确定评语指标集 评语集 第二步:求出模糊评价矩阵P,往往结合具体数据 通常用频率法确定隶属度 用变异系数法确定权重 前几篇博客有讲变异系数法 移步 模糊合成