SQL实战之索引失效案例详解

文章目录

总体原则

sql 复制代码
	1、全值匹配我最爱
	2、最佳左前缀法则:指的是查询从索引的最左前列开始且不跳过索引中的列。(带头大哥不能死,中间兄弟不能断)
	3、不在索引列上做任何操作(计算、函数、自动or手动类型转换),会导致索引失效而转向全表扫描type=all(索引列上少计算)
	4、不能使用索引中范围条件右边的列(范围之后全失效)
	5、尽量使用覆盖索引(索引列和查询列一致),(尽量减少使用select *)
	6、like以通配符开头mysql索引失效会变成全表扫描的操作 (like %加右边)
	7、字符串varchar不加单引号索引失效(字符串里留引号)
	8、is null,is not null, or, != 无法使用索引会导致全表扫描

              SQL索引优化口诀
        全值匹配我最爱,最左前缀要遵守;
        带头大哥不能死,中间兄弟不能断;
        索引列上少计算,范围之后全失效;
        LIKE百分写最右,覆盖索引不写星;
        不等空值还有or,索引失效要少用;
        VAR引号不可丢,SQL高级也不难!

案例一:索引第一个字段不能丢,否则索引失效

新建索引:ALTER TABLE staffs ADD INDEX idx_ staffs nameAgePos(name, age, pos),

案例二:索引列上少计算

案例三:范围之后全失效

案例四:尽量少使用select *、不等于(!=或者<>)、is null,is not null、%加尽量右边

小总结

相关推荐
沐浴露z4 分钟前
详解 零拷贝(Zero Copy):mmap、sendfile、DMA gather、splice
java·网络·操作系统
kyle~6 分钟前
C++---关键字constexpr
java·开发语言·c++
dllxhcjla7 分钟前
css第二天
java·前端·css
春生野草8 分钟前
SpringBoot配置文件
java·数据库·spring boot
车江毅11 分钟前
亿级O2O(智能设备)系统架构笔记【原创】
java·分布式·技术战略规划
奇点 ♡18 分钟前
MySQL基础题
数据库·sql·mysql
祈祷苍天赐我java之术20 分钟前
SpringCache :让缓存开发更高效
前端·spring·bootstrap
小二·25 分钟前
从零到上线:Spring Boot 3 + Spring Cloud Alibaba + Vue 3 构建高可用 RBAC 微服务系统(超详细实战)
vue.js·spring boot·微服务
cherry523029 分钟前
Java大厂面试真题:Spring Boot + 微服务 + 缓存架构三轮技术拷问实录
jvm·spring boot·mysql·微服务·java面试·分布式架构·redis缓存
程序员小赵同学31 分钟前
Spring AI Alibaba语音合成实战:从零开始实现文本转语音功能
人工智能·spring·语音识别