Re: [SQL] inserts/updates problem under stressing !
| От | Vadim Mikheev |
|---|---|
| Тема | Re: [SQL] inserts/updates problem under stressing ! |
| Дата | |
| Msg-id | 379BFF7E.BD57269E@krs.ru обсуждение исходный текст |
| Ответ на | Re: [SQL] inserts/updates problem under stressing ! (Oleg Bartunov <oleg@sai.msu.su>) |
| Ответы |
Re: [SQL] inserts/updates problem under stressing !
|
| Список | pgsql-sql |
Oleg Bartunov wrote:
>
> >
> > SELECT FOR UPDATE will not help: if there was no record for
> > particular key then nothing will be locked and two records with
> > the same key will be inserted.
> >
> > Oleg, use LOCK IN SHARE ROW EXCLUSIVE MODE.
>
> Thanks Vadim. Just tried this, but still I see a difference between
> count hits (accumulated) from db and access_log. In my test these numbers are:
> 95 and 109. So I lost 14 hits ! And no errors !
> In my handler I have now:
>
> my $sth = $dbh->do("LOCK TABLE hits IN SHARE ROW EXCLUSIVE MODE");
> my $sth = $dbh->do("SELECT acc_hits($1)") || die $dbh->errstr;
>
> am I right ?
You should run LOCK and SELECT inside BEGIN/END (i.e. in
the same transaction), do you?
Vadim
В списке pgsql-sql по дате отправления: