我有以下表「medicion
」與以下領域:優化聚集功能和訂購PostgreSQL中
id_variable[int](PK),
id_departamento[int](PK),
fecha [date](PK),
valor [number]`.
所以,我想要得到的最小,最大和勇氣的通過分組所有數據的平均值id_variable
。所以我的查詢是:
SELECT AVG(valor), MIN(valor), MAX(valor)
FROM medicion
GROUP BY id_variable;
知道了默認的PostgreSQL建立主鍵
(id_departamento, id_variable, fecha)
如何優化這個查詢的索引?我應該只由id_variable
或創建新的索引此查詢中的默認索引是否有效?
謝謝!
你有'id_valor'或'valor'?有沒有錯字? –
這是一個錯字,對不起 –
在'id_variable,valor'上添加multicolum覆蓋索引。 PostgreSQL將掃描索引而不是表格。它必須掃描整個索引(或表),因爲使用了AVG功能。 AVG必須始終掃描*所有行*以計算平均值。 – krokodilko