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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM