语句如下
SELECT COUNT(DISTINCT `t`.`id`) FROM `vt_crm`.`customerusers` `t`
LEFT OUTER JOIN `vt_crm`.`customer` `sales`
ON (`t`.`customerid`=`sales`.`id`)
LEFT OUTER JOIN `vt_base`.`cate` `cate`
ON (sales.cateid =
cate.id)
LEFT OUTER JOIN `vt_base`.`city` `city`
ON (
city.id = sales.cityid)
WHERE ((gradeid='5') AND (sales.enable='1'))
count是查总数,做分页的(customerusers 表 230w数据,customer表50W数据,gradeid是6个值,enable是可用)~
查出来要2秒多。就算去掉后面的cate跟city也要将近2秒
查资料时也试过用SQL_CALC_FOUND_ROWS,FOUND_ROWS比用count还慢~
请问下大家该如何优化这条语句
或者有没有其他方案去查符合条件的总数~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/50854
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.