Update table is much faster after copying it

Поиск
Список
Период
Сортировка
От Miles Jordan
Тема Update table is much faster after copying it
Дата
Msg-id 6A9D5F7D-393A-431E-A719-E1DA11E97320@rea-group.com
обсуждение исходный текст
Ответы Re: Update table is much faster after copying it  (Andreas Kretschmer <akretschmer@spamfence.net>)
Список pgsql-general
Hi,

I have tables a and b each with around 12 million rows. I am running an update query to set the id of table b as an
attributeof table a, and have an appropriate index on table b that EXPLAIN tells me should be used.
 

The query takes 6 hours on an AWS db.r3.4xlarge. That seemed hugely excessive, so I copied table a into a new table
usingCREATE TABLE b AS SELECT * FROM a, and for completeness also added the same indexes and constraints.
 

Now, when I run the update on table a, it finishes in 3 minutes, and produces the same result.

Can anyone shed some light on why this might happen? I’ve played around with using CLUSTER but it doesn’t seem to have
anyeffect, and I don’t really see why it should given that table a needs a sequential scan to update every row anyway.
 

Thanks for your insights.

-Miles

В списке pgsql-general по дате отправления:

Предыдущее
От: deans
Дата:
Сообщение: Re: BDR Error restarted
Следующее
От: Andreas Kretschmer
Дата:
Сообщение: Re: Update table is much faster after copying it