SELECT a.F1, SUM(a.F2) AS F2Sum
FROM Ta a INNER JOIN Tb b ON a.Id = b.Id
WHERE b.CId = 'Value' AND a.F2 IS NOT NULL
GROUP BY a.F1
b.Id/b.CId上已经有独立索引
a.Id上有独立索引
FROM Ta a INNER JOIN Tb b ON a.Id = b.Id
WHERE b.CId = 'Value' AND a.F2 IS NOT NULL
GROUP BY a.F1
b.Id/b.CId上已经有独立索引
a.Id上有独立索引
你这个SQL可以优化的,我想到的有2方面
1:a 和 b 分别经过WHERE条件后,记录集的条数,估算一下谁的记录小,在INNNER JOIN的时候,谁放在前面
2:经过WHERE估算后,谁的记录集小,在WHERE条件中,谁放前面。
怎么看分布?
Ta 380多万
Tb 160多万