PostgreSQL:任何具有时间戳的列的有效组

时间:2016-10-04 15:18:31

标签: sql postgresql

我有一个大表(大约100万条记录),有50列(一个时间戳和其他实体的参数),我想进行如下查询:

select param_name, count(*) 
from big_table 
where timestamp > {{start}} and timestamp < {{end}} 
group by param_name

那么我怎样才能尽快执行这些查询呢?时间限制可以是任意的。我正在使用PostgreSQL。

现在我正在考虑制作50种INDEXes(timestamp,param_name)。但它可以提供巨大的指数。

有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

有50列的100万条记录并不是特别大。

我将从big_table(timestamp, param_name)上的明显索引开始,看看它是如何工作的。

实际上,big_table(time_stamp)上的索引在很多情况下都是足够的 - 特别是,如果你只是想总结一小部分行。