我有一些带有时间序列的表,其第一列对应于数据的日期。我试图根据该列将它们合并在一起,但查询需要太长时间。
由于这个系列不是很短,我猜它正在尝试搜索许多条目才能进行JOINT。有没有办法优化搜索?也许使用哈希函数,或让MYSQL知道数据已经排序。
谢天谢地,以下是执行延迟的代码的一部分。
SELECT
a.PERIOD,
a.INFLATION,
b.GROSS_PRODUCT,
c.EMPLOYMENT,
d.EXCHANGE_RATE
FROM INFLATION a
JOIN PRODUCT b
ON FLOOR_DATE(a.PERIOD, 'QUARTER') = b.PERIOD
JOIN EMPLOYMENT c
ON FLOOR_DATE(a.PERIOD, 'MONTH') = c.PERIOD
JOIN PESO_DOLLAR d
ON FLOOR_DATE(d.PERIOD, 'MONTH') = d.PERIOD
我已创建FLOOR_DATE()
以向下舍入到最近的QUARTER或MONTH,以匹配相应的日期。