私はpostgres 9.Xを使用しています。 私は2つのテーブルを持っています更新によるPostgresグループ - 低速クエリ
Table A
(
id integer
);
Table B
(
id integer,
Value integer
);
どちらのテーブルもidでインデックスされています。
表Aは、私は、テーブルBにIDの出現回数を挿入しようと重複するIDの
Example:
Table A
ID
1
1
1
2
1
を有することができる(この表は、表AにあるすべてのIDを持っていますが、値は初期値は0である)
ここでTable B
ID Value
1 4
2 1
3 0
4 0
は私のSQL文のTableAの中3-10百万のエントリを持つ
update tableB set value = value + sq.total
from
(select id, count(*) as total from TableA group by id) as sq
where sq.id = tableB.id;
あり、それがtaです王はひどい時間を過ごす。このクエリを最適化する方法はありますか?
istance - 最初のテーブルインデックスのb-treeインデックスですか?多分あなたを助けるでしょう。 – DonCallisto
こんにちは、私は両方のテーブルの "id"にBツリーインデックスを持っています。 – KarthikRajagopal
それは私の唯一のアイデアだった...私はどのように実行時間を改善することができないのかわからない...申し訳ありません – DonCallisto