2016-10-04 49 views
-2

任何列有效組我有一個很大的表(約1萬條記錄)與50列(一個時間戳和其他實體的參數),我想做出這樣的查詢:PostgreSQL的:通過與時間戳

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

所以我如何儘可能快地執行這些查詢?時間限制可以是任意的。我正在使用PostgreSQL。

現在我正在考慮讓那種50個指數(時間戳,PARAM_NAME)。但它可以提供巨大的索引。

有沒有更好的解決方案?

+0

https://wiki.postgresql.org/wiki/Slow_Query_Questions –

回答

0

一百萬條記錄與50列不是特別大。

我就帶有明顯的指數開始big_table(timestamp, param_name),看到是如何工作的。

事實上,在big_table(time_stamp)指數將在很多情況下足夠的 - 特別是,如果你只是想總結行的一小部分。