MySQL对varchar型字段的索引,字段类型不同造成的隐式转换,导致索引失效

MySQL索引使用:字段为varchar类型时,条件要使用”包起来,才能正常走索引
表t_order表 里的id是BigInt类型,t_order_detail表里关联到order表的id误建成orderId varchar类型了,在ibatis上查询时,直接传入id Long类型,SQL查询非常慢,即使建立了userId索引,于是改成String 类型的userId去查询,SQL立马变的很快了。

通过explain sql可看下SQL是否走了索引,很快对比出来
原因:字段类型不同造成的隐式转换,导致索引失效

 

参考:http://www.mamicode.com/info-detail-2206023.html

posted @ 2018-12-04 15:13  青春暮年  阅读(1518)  评论(0编辑  收藏  举报