From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Sawada Masahiko <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Drop any statistics of table after it's truncated |
Date: | 2014-10-14 14:20:15 |
Message-ID: | 31233.1413296415@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Sawada Masahiko <sawada(dot)mshk(at)gmail(dot)com> writes:
> I found that the statistics are still remained after it's truncated.
> In addition, the analyzing ignores table does not have any tuple.
> After table truncated, the entry of statistics continues to remain
> unless insertion and analyzing are executed.
> There is reason why statistics are remained?
Yes, actually, that's intentional. The idea is that once you start
loading data into the table, it's most likely going to look something
like the old data; therefore, the stale statistics are better than
none at all. Eventually auto-ANALYZE will replace the stats,
but until that happens, it seems best to keep using the old stats.
(Of course there are counterexamples to this, but removing the stats
is bad in more cases than not.)
> Attached patch is one line patch adds RemoveStatistics() into
> ExecuteTruncate(), to remove statistics entry of table.
-1, for the reasons explained above.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-10-14 14:25:03 | Re: WIP: dynahash replacement for buffer table |
Previous Message | Andres Freund | 2014-10-14 13:58:43 | Re: Wait free LW_SHARED acquisition - v0.9 |