Re: ANALYZE after CREATE TABLE AS SELECT...
От | Semyon Reyfman |
---|---|
Тема | Re: ANALYZE after CREATE TABLE AS SELECT... |
Дата | |
Msg-id | 010901d05237$109ba8a0$31d2f9e0$@therealauthority.com обсуждение исходный текст |
Ответ на | Re: ANALYZE after CREATE TABLE AS SELECT... (David Steele <david@pgmasters.net>) |
Список | pgsql-general |
This is exactly my situation. Thanks. Semyon Reyfman -----Original Message----- From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of David Steele Sent: Thursday, February 26, 2015 8:19 PM To: Tom Lane; Semyon Reyfman Cc: pgsql-general@postgresql.org Subject: Re: [GENERAL] ANALYZE after CREATE TABLE AS SELECT... On 2/26/15 2:05 PM, Tom Lane wrote: > "Semyon Reyfman" <sreyfman@therealauthority.com> writes: >> When I create a table with "CREATE TABLE name AS SELECT." statement >> and immediately afterward use this new table in a query does it make >> sense to run ANALYZE on the new table in between? > > Yes. Yes. And to be more specific - vacuum cannot see tables that have been created in a transaction, so you should always analyze tables that you intend to read in the same transaction where you created them. Even if you do commit before reading there is a race condition with vacuum, so it's best to analyze. Bonus tip: the same is true for any temp tables you might create. More so, since vacuum will never see them at all. -- - David Steele david@pgmasters.net
В списке pgsql-general по дате отправления: