Re: update/insert, delete/insert efficiency WRT vacuum and

Поиск
Список
Период
Сортировка
От Zeugswetter Andreas DCP SD
Тема Re: update/insert, delete/insert efficiency WRT vacuum and
Дата
Msg-id E1539E0ED7043848906A8FF995BDA579011F0970@m0143.s-mxs.net
обсуждение исходный текст
Ответ на Re: update/insert, delete/insert efficiency WRT vacuum and  (Martijn van Oosterhout <kleptog@svana.org>)
Ответы Re: update/insert, delete/insert efficiency WRT vacuum  (Hannu Krosing <hannu@skype.net>)
Список pgsql-hackers
> > >Is there a difference in PostgreSQL performance between these two
> > >different strategies:
> > >
> > >
> > >if(!exec("update foo set bar='blahblah' where name = 'xx'"))
> > >    exec("insert into foo(name, bar) values('xx','blahblah'"); or

In pg, this strategy is generally more efficient, since a pk failing
insert would create
a tx abort and a heap tuple. (so in pg, I would choose the insert first
strategy only when
the insert succeeds most of the time (say > 95%))

Note however that the above error handling is not enough, because two
different sessions
can still both end up trying the insert (This is true for all db systems
when using this strategy).

Andreas


В списке pgsql-hackers по дате отправления:

Предыдущее
От: paolo romano
Дата:
Сообщение: Re: MultiXactID Wrap-Around
Следующее
От: Tom Lane
Дата:
Сообщение: Re: system info functions