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是否走了索引,很快对比出来
原因:字段类型不同造成的隐式转换,导致索引失效