我使用的是postgres 9.X. 我有兩張桌子Postgres group by update - 慢速查詢
Table A
(
id integer
);
Table B
(
id integer,
Value integer
);
這兩張桌子都以id爲索引。
表A可以有重複的ID
Example:
Table A
ID
1
1
1
2
1
我打算插入事件ID的成表B的數目(此表具有的所有的ID是在表A中,但其值是0最初)
Table B
ID Value
1 4
2 1
3 0
4 0
這裏是我的SQL語句
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;
隨着表A 3-10萬個條目,它是TA國王可怕的時間。有沒有一種方法可以優化這個查詢?
對於第一個表索引,你有沒有 - btance索引?也許它會幫助你。 – DonCallisto 2011-12-19 22:35:36
嗨,唐,我確實有兩個表中的「id」的B樹索引。 – KarthikRajagopal 2011-12-19 22:37:10
這是我唯一的想法......我不知道如何改善運行時間......對不起 – DonCallisto 2011-12-19 22:40:29