Re: Planner performance extremely affected by an hanging transaction (20-30 times)?
От | Jeff Janes |
---|---|
Тема | Re: Planner performance extremely affected by an hanging transaction (20-30 times)? |
Дата | |
Msg-id | CAMkU=1xJjPV-6aQZHn7-RSH3cBzEO6ENxoGj6hxy5XpWkfo6YQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Planner performance extremely affected by an hanging transaction (20-30 times)? (didier <did447@gmail.com>) |
Ответы |
Re: Planner performance extremely affected by an hanging
transaction (20-30 times)?
Re: Planner performance extremely affected by an hanging transaction (20-30 times)? |
Список | pgsql-performance |
On Tue, Sep 24, 2013 at 11:03 AM, didier <did447@gmail.com> wrote:
HiOn Tue, Sep 24, 2013 at 5:01 PM, <jesper@krogh.cc> wrote:Apparently it is waiting for locks, cant the check be make in a
"non-blocking" way, so if it ends up waiting for a lock then it just
assumes non-visible and moves onto the next non-blocking?Not only, it's a reason but you can get the same slow down with only one client and a bigger insert.The issue is that a btree search for one value degenerate to a linear search other 1000 or more tuples.
As a matter of fact you get the same slow down after a rollback until autovacuum, and if autovacuum can't keep up...
Have you experimentally verified the last part? btree indices have some special kill-tuple code which should remove aborted tuples from the index the first time they are encountered, without need for a vacuum.
Cheers,
Jeff
В списке pgsql-performance по дате отправления: