主键查询值,int与字符串类型混用导致索引失效

Posted HarveyB

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主键查询值,int与字符串类型混用导致索引失效相关的知识,希望对你有一定的参考价值。

select * from user where id in (5230,’45’)

*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
         type: ALL
possible_keys: PRIMARY
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 501591
        Extra: Using where
#不同类型进行比较时,同样会导致索引失效,存在隐时类型转换

以上是关于主键查询值,int与字符串类型混用导致索引失效的主要内容,如果未能解决你的问题,请参考以下文章

索引失效与解决方案

Mysql优化单表查询

阿里规范 - MySQL 数据库 - 索引规约 - 10 - 推荐防止因字段类型不同造成的隐式转换,导致索引失效。

Mysql索引--05---索引失效的11种情况

MySQL字符集不一致导致索引失效

MySQL字符集不一致导致索引失效