MySQL索引不会被使用的7种情况
[1] 隐式类型转换
索引列出现了隐式类型转换(Implicit Type Conversion
),则MySQL
不会使用索引。常见的情况是,如果在SQL
的WHERE
条件中,字段类型为字符串,而其值为数值,那么MySQL
不会使用索引,这个规则和Oracle
是一致的,所以,字符类型的字段值应该加上引号。
[2] cast函数
在使用cast
函数时,需要保证字符集一样,否则MySQL
不会使用索引。
[3] OR
如果WHERE
条件中含有OR
,除非OR
条件中的所有列都是索引列,否则MySQL
不会选择索引。
[4] 最左前导原则
对于多列索引,若没有使用前导列,则MySQL
不会使用索引。
[5] 通配符是第一个字符
在WHERE
子句中,如果索引列所对应的第一个字符由通配符开始,索引将不被采用,然而当通配符出现在字符串其他位置时,优化器就能利用索引。
[6] 全表扫描更快
如果MySQL
估计使用全表扫描要比使用索引快,那么MySQL
将不使用索引。
[7] 运算
如果对索引字段进行函数、算数运算或其他表达式等操作,那么 MySQL也个便用索引。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfkeaie
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13