发布时间:2026/6/23 22:59:42
一张图搞懂MySQL的索引失效
索引对于MySQL而言是非常重要的篇章。索引知识点也巨多要想掌握透彻需要逐个知识点一一击破今天来先来聊聊哪些情况下会导致索引失效。图片总结版全值匹配索引最佳explain select * from user where name zhangsan and age 20 and pos cxy and phone 18730658760;和索引顺序无关MySQL底层的优化器会进行优化调整索引的顺序 explain select * from user where name zhangsan and age 20 and pos cxy and phone 18730658760;1、违反最左前缀法则如果索引有多列要遵守最左前缀法则 即查询从索引的最左前列开始并且不跳过索引中的列 explain select * from user where age 20 and phone 18730658760 and pos cxy;2、在索引列上做任何操作如计算、函数、自动or手动类型转换等操作会导致索引失效从而全表扫描 explain select * from user where left(name,5) zhangsan and age 20 and phone 18730658760;3、索引范围条件右边的列索引范围条件右边的索引列会失效 explain select * from user where name zhangsan and age 20 and pos cxy;4、尽量使用覆盖索引只访问索引查询索引列和查询列一致减少select* explain select name,age,pos,phone from user where age 20;5、使用不等于!、mysql在使用不等于!、的时候无法使用索引会导致全表扫描除覆盖索引外 explain select * from user where age ! 20; explain select * from user where age 20;6、like以通配符开头%abc索引失效 explain select * from user where name like %zhangsan;索引生效 explain select * from user where name like zhangsan%;7、字符串不加单引号索引失效explain select * from user where name 2000;8、or连接少用or explain select * from user where name 2000 or age 20 or pos cxy;9、order by正常索引参与了排序 explain select * from user where name zhangsan and age 20 order by age,pos; 备注索引有两个作用排序和查找导致额外的文件排序会降低性能 explain select name,age from user where name zhangsan order by pos;//违反最左前缀法则 explain select name,age from user where name zhangsan order by pos,age;//违反最左前缀法则 explain select * from user where name zhangsan and age 20 order by created_time,age;//含非索引字段10、group by正常索引参与了排序 explain select name,age from user where name zhangsan group by age; 备注分组之前必排序排序同order by导致产生临时表会降低性能 explain select name,pos from user where name zhangsan group by pos;//违反最左前缀法则 explain select name,age from user where name zhangsan group by pos,age;//违反最左前缀法则 explain select name,age from user where name zhangsan group by age,created_time;//含非索引字段使用的示例数据mysql show create table user \G ****************************************************** Table: user Create Table: CREATE TABLE user ( id int(10) NOT NULL AUTO_INCREMENT, name varchar(20) DEFAULT NULL, age int(10) DEFAULT 0, pos varchar(30) DEFAULT NULL, phone varchar(11) DEFAULT NULL, created_time datetime DEFAULT NULL, PRIMARY KEY (id), KEY idx_name_age_pos_phone (name,age,pos,phone) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci​编辑mysql

相关新闻

鸿蒙 ArkUI 布局与基础语法综合总结
2026/6/23 22:59:42

鸿蒙 ArkUI 布局与基础语法综合总结

一、ArkUI 三大核心装饰器(页面基础三要素)这是所有页面、组件的编写前提,所有 UI 代码都必须遵循该结构。Entry 页面入口装饰器,标记当前自定义组件为独立运行的页面,等同于程序main入口,单个页面仅允许一…

阅读更多
Python Selenium自动化问卷填写实战:从环境搭建到验证码处理
2026/6/23 21:59:42

Python Selenium自动化问卷填写实战:从环境搭建到验证码处理

1. 项目概述与核心价值最近在帮一个朋友处理一个挺有意思的需求:他手头有一批问卷需要填写,来源是问卷星,数量大概有几百份。手动操作显然不现实,不仅耗时耗力,还容易出错。他问我能不能用技术手段自动化搞定&#xff…

阅读更多
Selenium元素定位全解析:8种方式与实战避坑指南
2026/6/23 21:59:42

Selenium元素定位全解析:8种方式与实战避坑指南

1. 项目概述:为什么元素定位是Web自动化的基石 做Web自动化测试,无论是用Selenium还是现在热门的Playwright,你绕不开的第一个核心技能就是元素定位。你可以把浏览器想象成一个布满按钮、输入框、下拉菜单的复杂界面,而自动化脚本…

阅读更多
打造个性化Instagram Clone:主题定制与用户体验优化技巧
2026/6/23 23:59:45

打造个性化Instagram Clone:主题定制与用户体验优化技巧

打造个性化Instagram Clone:主题定制与用户体验优化技巧 【免费下载链接】Instagram-Clone Working Instagram Clone (Frontend Backend) created with Flutter and Firebase 项目地址: https://gitcode.com/gh_mirrors/in/Instagram-Clone Instagram Clone…

阅读更多
haproxy(七层代理)、python代码的读写分离
2026/6/23 23:59:45

haproxy(七层代理)、python代码的读写分离

一、haproxy----高可用、负载均衡1.安装安装ntpdate[roothaproxy ~]# yum -y install ntpdate.x86_64安装ntp[roothaproxy ~]# yum -y install ntp同步时间[roothaproxy ~]# ntpdate cn.ntp.org.cn启动ntp服务[roothaproxy ~]# systemctl start ntpd设置开机自启[roothaproxy ~…

阅读更多
使用自动化脚本一般可以实现哪些任务?
2026/6/23 23:59:45

使用自动化脚本一般可以实现哪些任务?

我们一般通过编写或使用自动化脚本来完成各种任务,从而节省时间和提高效率。以下是一些常见的自动化脚本任务:游戏搬砖脚本技术:这种技术涉及使用自动化脚本来执行游戏中的重复任务。例如,在一个交易游戏中,脚本可以自…

阅读更多
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作
2026/6/23 23:59:45

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

阅读更多
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果
2026/6/23 23:59:45

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

阅读更多
【PCB】——嘉立创EDA快速入门
2026/6/23 22:59:42

【PCB】——嘉立创EDA快速入门

【PCB】——嘉立创EDA快速入门 原视频:【使用嘉立创EDA完成原理图和PCB流程】 1. 新建工程 工程中默认Board1,包含Schematic1和PCB1。 2. Schematic 不需要像AD那样放封装,可以直接从立创商城中添加器件 放置元器件:【放置-器件】 连线:【Alt+W】 网络标签:【Alt+…

阅读更多
嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南
2026/6/23 3:25:21

嵌入式语音编解码实战:G.726 ADPCM库集成与优化指南

1. 项目概述与G.726 ADPCM技术背景在嵌入式语音处理领域,带宽和存储资源往往是寸土寸金的。如果你做过对讲机、VoIP网关或者早期的数字录音设备,一定对如何在有限的比特率下保住语音可懂度这件事深有感触。我当年接手一个车载调度系统的项目,…

阅读更多
ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性
2026/6/23 4:51:28

ITU656格式化器寄存器配置实战:VBI数据处理与VCR特技播放兼容性

1. 项目概述与核心挑战在数字视频处理领域,将原始的视频数据、同步时序以及各种辅助信息打包成一个标准、稳定的串行数据流,是确保设备间互联互通的基础。ITU-R BT.656标准(常简称为ITU656)正是为此而生的一套“交通规则”。它定义…

阅读更多
嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南
2026/6/23 0:40:11

嵌入式GUI开发实战:emWin环境搭建、配置优化与性能调优指南

1. 项目概述与emWin核心价值解析在嵌入式系统开发领域,人机交互(HMI)的设计正从简单的LED指示灯和按键,快速向全彩图形化界面演进。无论是智能家电上的触摸屏、工业PLC的操作面板,还是医疗设备的参数显示,一…

阅读更多
GIT修改用户名
2026/6/23 8:19:27

GIT修改用户名

在GIT中修改用户名可按以下步骤操作: 查看当前git的用户名,使用命令git config --list或git config user.name。修改git用户名,使用命令git config --global user.name "xxx(新的用户名)",将其中…

阅读更多
Win11Debloat:让你的Windows系统重获新生的终极优化工具
2026/6/23 23:39:46

Win11Debloat:让你的Windows系统重获新生的终极优化工具

Win11Debloat:让你的Windows系统重获新生的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …

阅读更多
技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践
2026/6/23 6:37:14

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践

技术深度解析:m4s-converter实现原理与B站缓存视频转换最佳实践 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter m4s-converter是一个…

阅读更多