SELECT t1.a, t1.b, count(t1.b) FROM table1 AS t1 WHERE EXISTS( SELECT 1 FROM 2table AS t2 WHERE t1.a = t2.a AND t2.RTU代码=0 ) AND t1.b IN (0,2) AND t1.SOC between 1465056000 AND 1465228800 GROUP BY a, b ORDER BY NULL;#假如不需要排序的话,可以显式关闭排序 然后table1的SOC字段要建索引。 最好还是用EXPLAIN分析一下SQL,看看哪里还有优化的地方(但凡涉及到GROUP BY的SQL性能都不太好)。
然后
table1的SOC字段要建索引。最好还是用EXPLAIN分析一下SQL,看看哪里还有优化的地方(但凡涉及到GROUP BY的SQL性能都不太好)。