记一次sql查询慢的坑(存在查询条件隐式转换)

今天在做功能的时候。很慢 sql语句 也正常啊,没毛病

原sql  我贴一下

SELECT * FROM `goods` WHERE `sku` = 12454207 LIMIT 1;

查看执行时间是30多秒  起初猜测是 索引问题 后面发现建立啦,

最后我找到原因了,我先查看这个sku字段的类型 发现是varchar

上图中的值 是int类型  

于是 我就想到 会不会是隐式转化造成的,那我就改了一下代码

$sku = (string)$jd_result['skuId'];

这样强转一下,果然现在查询是毫秒级别的啦。所以大家平时开发的时候也要注意。防止这种情况发生。

猜你喜欢

转载自blog.csdn.net/dzyweer/article/details/83859645