1
我做的,在PostgreSQL裏,這樣的事情:加快Postgres的查詢(其中2臺作品)
select A.first,
count(B.second) as count,
array_agg(A.second) as second,
array_agg(A.third) as third,
array_agg(B.kids) as kids
from A join B on A.first=B.second
group by A.first;
而且它永遠走(也因爲表是相當大的)。將輸出限制爲10行,並使用解釋分析進行查看告訴我,嵌套循環很龐大,並且佔用大部分時間。
有沒有什麼辦法可以寫這個查詢(我將在CREATE TABLE AS中使用它來創建一個新表)來加速它,同時保留相同的輸出,這正是我想要的嗎?
謝謝!
請發佈執行計劃(使用解釋分析)和兩個表上定義的所有索引的定義。有關性能問題的更多信息如下:http://wiki.postgresql.org/wiki/SlowQueryQuestions –
原始表中沒有索引。創建其中的一些,我需要的,足以加快查詢幾個數量級。我猜我今天學到的關鍵概念是:「讓你的索引工作」。 :) – mgm