私は巨大なデータセット(顧客、タイムスタンプ、消費)を持っています。 私は、さまざまなクエリのパフォーマンスを向上させるために、インデックスを使用する必要があるが、私は、この特定のクエリのパフォーマンスを後押しするすべてのインデックスを作成するように見えることはできません:私が読んでいたものからどのINDEXタイプを使用しますか?
SELECT customer, AVG(consumption)
FROM alicante_1y
GROUP BY customer;
を、そこにありますAVG機能のパフォーマンスを向上させるための簡単で直接的な方法はありません...
前もって感謝します。
出力(冗長、解析)説明:インデックスの
HashAggregate (cost=194302.67..194315.09 rows=993 width=16) (actual time=6847.581..6848.630 rows=994 loops=1)
Output: customer, avg(consumption)
Group Key: alicante_1y.customer
-> Seq Scan on public.alicante_1y (cost=0.00..150840.45 rows=8692445 width=16) (actual time=0.175..1829.867 rows=8692445 loops=1)
Output: customer, t, consumption
Planning time: 0.633 ms
Execution time: 6849.036 ms
テーブルから**すべての**行を読んでいるので、インデックスは役に立たないでしょう。インデックスは、何らかの条件に基づいて多くの行を数行に減らす必要がある場合に役立ちます。あなたの質問を遅くするものを見つけるには、あなたの質問を編集し、** 'explain(analyze、verbose)' **を使って生成された実行計画を追加する必要があります。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557#285557) –
出力で元の投稿を編集しました。 –