Re: [PROPOSAL] Use SnapshotAny in get_actual_variable_range
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Robert Haas <robertmhaas@gmail.com>, Dmitriy Sarafannikov <dsarafannikov@yandex.ru>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Borodin Vladimir <root@simply.name>, Хомик Кирилл <khomikki@yandex-team.ru>
Date: 2017-04-27T21:33:54Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2017-04-27 17:22:25 -0400, Tom Lane wrote: >> How so? Shouldn't the indexscan go back and mark such tuples dead in >> the index, such that they'd be visited this way only once? If that's >> not happening, maybe we should try to fix it. > One way that never happens is if you end up choosing bitmap index scans > all the time... What I'm thinking of is the regular indexscan that's done internally by get_actual_variable_range, not whatever ends up getting chosen as the plan for the user query. I had supposed that that would kill dead index entries as it went, but maybe that's not happening for some reason. regards, tom lane
Commits
-
Improve performance of get_actual_variable_range with recently-dead tuples.
- 3ca930fc39cc 11.0 landed
-
Use SnapshotDirty rather than an active snapshot to probe index endpoints.
- fccebe421d0c 9.4.0 cited