SkuId` varchar(32) NOT NULL COMMENT 'SkuId',mysql
`SkuId` bigint(32) NOT NULL COMMENT 'SkuId',sql
根据以上现象咱们能够看出当数据库字段为int类型的时候,入参类型不管是字符串仍是int,都可以命中索引;数据库
当数据库字段类型为varchar类型的时候,入参类型必须为varchar类型,才可以命中索引;索引
查了下mysql相关的资料,介绍以下:字符串
mysql在比较值的时候,若是两边值的类型不匹配,那么就会进行隐式类型转换(转化成浮点类型);im
总结以下: 当等式两边类型不一致的时候,都会被转换为浮点数再进行比较。总结
当等式左边varchar类型转化成浮点类型的时候,不会命中索引;数据
当等式左边是浮点类型的时候,右边类型转化不转化都可以命中索引;img