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