我有两张桌子:
- 行程:id_trip、id_object、trip_date、delta(8980026 行)
- 范围:id_range、id_object、date_since、date_until(18490 行)
我需要优化下面的select语句
select r.id_range, sum(t.delta) sum_deltas
from trips t,
ranges r
where t.id_object = r.id_object
and t.trip_date between r.date_since and r.date_until
group by r.id_range
根据条件,“范围”中的行程总是有一个匹配的行
- trips 表不断增长,但没有更新或删除
- 表范围可能会不时以任何方式更改(删除、更新、插入),因此基于函数的索引不是这种方式:(
- id_object(在两个表中)和 date_since(在行程中)都有索引
有谁知道如何加快速度,甚至可能吗?