mysql笔记-字段上的函数操作会使索引失效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql笔记-字段上的函数操作会使索引失效相关的知识,希望对你有一定的参考价值。
参考技术A 结果显示使用了name的索引。而添加函数操作后:将不再使用name字段上的索引。
返回1,表明将字符转换为int进行比较。
若查询语句中存在这类转换,那么索引也将失效,例如:
接口显示没有使用name字段上的索引,因为name转换为了int进行比较。
另外,对于不能转换的字符,mysql将转换为0进行比较,例如:
sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化
在我们编写sql的过程中where的条件使用不当会使索引(index)失效
1. 在 where 子句中使用!=或<>操作符,会使引擎放弃使用索引而进行全表扫描
2. 在 where 子句中对字段进行 null 值判断,会使引擎放弃使用索引而进行全表扫描
3. 在 where 子句中使用 or 来连接条件,会使引擎放弃使用索引而进行全表扫描
可改为:
4. 在 where 子句中对字段进行表达式操作,会使引擎放弃使用索引而进行全表扫描
可改为:
5. 在where子句中对字段进行函数操作,会使引擎放弃使用索引而进行全表扫描
6. 在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,系统将可能无法正确使用索引
以上是关于mysql笔记-字段上的函数操作会使索引失效的主要内容,如果未能解决你的问题,请参考以下文章