1
hahasong 2015-04-17 10:50:06 +08:00
搞联合查询带这么多条件还玩子句,不慢才怪。明显不合理。在代码里拆分一下吧,宁可拆成二次查询
|
3
ElmerZhang 2015-04-17 11:11:07 +08:00 1
你这个SQL的扫描行数按explain的结果来看,大概会是 2959 * 1659 * 1 = 4908981
|
4
sujin190 OP @ElmerZhang mysql这时候要扫描这么多数据么?这种情况和直接把手机号写在in里有什么区别呢?
|
5
whiteblack 2015-04-17 13:40:52 +08:00 1
|
6
sujin190 OP @xiaobaigsy 好吧,了解了,感谢,好坑啊,为什么要设计成这样啊?
|
7
zhanglp888 2015-04-17 15:31:21 +08:00
有了group by后,必然会慢
|
8
whiteblack 2015-04-17 17:14:34 +08:00
@sujin190 用久了mysql 就知道了,这玩意全是坑。。。。已经不知道发现多少诡异的mysql问题,最后了解到是mysql的bug了。。。
|