索引失效的原因以及解决索引失效方法

简介: 解决索引失效方法

一.准备工作


创建student表,id是主键



创建复合索引


create index idx_name_age on student(name,age);


查看索引


show index from student;


二.索引失效原因


1.全值匹配我最爱


explain select*from student where name ='张三'and age =1;



2.最佳左前缀法则,带头大哥不能死,中间兄弟不能少。


explain select*from student where age =1;



3.不要在索引列上做任何操作


explain select*from student where left(name,1)='张'and age =1;



4.范围条件后列上索引失效


explain select*from student where age >1and name ='王五';



查找级别是范围,name上的索引失效。


5.尽量使用覆盖索引减少使用select *


explain select*from student where name ='zhangsan';


网络异常,图片无法展示
|


explain select name from student where name ='zhangsan';


网络异常,图片无法展示
|


6.使用不等于(!= 或者<>)不能使用索引


explain select*from student where name !='张三';


网络异常,图片无法展示
|


7.使用 is null 或者 is not null 也不能使用索引


explain select*from student where name isnotnull;


网络异常,图片无法展示
|


8.like 已通配符开头(%abc)导致索引失效 (解决方法:使用覆盖索引)


explain select*from student where name like'%张%';


网络异常,图片无法展示
|


想用的话解决方法,使用覆盖索引


explain select name from student where name like'%张%';


网络异常,图片无法展示
|

9.少用or,用它来连接索引会失效


explain select*from student where name ='张三'or age =2;



相关文章
|
搜索推荐 JavaScript 前端开发
ESLint 禁止规则出现警告的 5 种方式
ESLint 禁止规则出现警告的 5 种方式
1350 0
PR曲线、ROC曲线、AUC能干个啥
评判二分类分类器性能的指标有那么多,为什么PR曲线、ROC曲线、AUC值这几个用的比较多。本文从概念、代码实现方面着手进行分享。
PR曲线、ROC曲线、AUC能干个啥
|
11月前
|
人工智能 数据可视化 前端开发
DB-GPT v0.6.0 版本更新,发布六大核心新特性!
DB-GPT v0.6.0 版本已发布,这是一个开源的AI原生数据应用开发框架,带来了多项新特性,包括AWEL协议升级至2.0,支持复杂编排;改进的数据应用创建与生命周期管理,支持多模式构建;GraphRAG增强图社区摘要与混合检索,图索引成本降低50%;丰富的Agent Memory类型;支持Text2NLU与Text2GQL微调;GPT-Vis前端可视化升级。这些更新助力企业快速构建智能数据应用,推动数字化转型。
|
11月前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
401 0
|
11月前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
336 0
【入门级教程】MySQL:从零开始的数据库之旅
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
410 13
|
SQL 网络协议 Java
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
JAVA SQLServerException: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败
233 0
|
机器学习/深度学习 分布式计算 DataWorks
MaxCompute产品使用合集之使用临时查询创建的表,在表管理和公共表没有找到,是什么原因
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
193 0
|
Kotlin
kotlin协程withContext的使用
kotlin协程withContext的使用
406 0
|
Shell
删除右键“在 Visual Studio 中打开”选项
删除右键“在 Visual Studio 中打开”选项
2293 0