Re: Freeze avoidance of very large table.
От | Bruce Momjian |
---|---|
Тема | Re: Freeze avoidance of very large table. |
Дата | |
Msg-id | 20150423154532.GB31856@momjian.us обсуждение исходный текст |
Ответ на | Re: Freeze avoidance of very large table. (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Freeze avoidance of very large table.
|
Список | pgsql-hackers |
On Thu, Apr 23, 2015 at 09:45:38AM -0400, Robert Haas wrote: > > Right. My point is that either you do X 2M times to maintain that fork > > and the overhead of the file existence, or you do one VACUUM FREEZE. I > > am saying that 2M is a large number and adding all those X's might > > exceed the cost of a VACUUM FREEZE. > > I agree, but if we instead make this part of the visibility map > instead of a separate fork, the cost is much less. It won't be any > more expensive to clear 2 consecutive bits any time a page is touched > than it is to clear 1. The VM fork will be twice as large, but still > tiny. And the fact that you'll have only half as many pages mapping > to the same VM page may even improve performance in some cases by > reducing contention. Even when it reduces performance, I think the > impact will be so tiny as not to be worth caring about. Agreed, no extra file, and the same write volume as currently. It would also match pg_clog, which uses two bits per transaction --- maybe we can reuse some of that code. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. +
В списке pgsql-hackers по дате отправления: