【发布时间】:2015-02-03 10:30:31
【问题描述】:
我有一个表 A 和一个表 B(以及一个不相关的表 C)。关系是 1:n。
Table A
- id
- c_foreign_key
Table B
- id
- A_id
- datetime
表 A 有大约 400,000 个条目,表 B 大约有 2000 万个。
我有一个时间范围,比如说从 2014/01/01 到 2014/12/31。
在这个范围内每个月我想要的是: 计算表 A 中的所有条目,按 c_foreign_key 分组,其中表 A 在表 B 中没有条目(月 - 1.年到月)。
结果应如下所示:
date c_foreign_key count(*)
--------------------------------
14/01 1 2000
14/01 2 3000
...
14/02 1 4000
14/01 2 6000
...
我已经尝试过每个月的 left join 和“not in select”,但性能并不是很好。
【问题讨论】:
-
向我们展示您尝试过的查询、您提出的索引以及 EXPLAIN SELECT 的输出。