Re: Update on tables when the row doesn't change
От | Richard Huxton |
---|---|
Тема | Re: Update on tables when the row doesn't change |
Дата | |
Msg-id | 4294209D.8090406@archonet.com обсуждение исходный текст |
Ответ на | Re: Update on tables when the row doesn't change (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Tom Lane wrote: > =?ISO-8859-1?Q?Sebastian_B=F6ck?= <sebastianboeck@freenet.de> writes: > >>Why does Postgres perform updates to tables, even if the row doesn't >>change at all? > > > Because testing for this would almost surely be a net loss for the vast > majority of applications. Checking to see if the new row value exactly > equals the old is hardly a zero-cost operation; if you pay that on every > update, that's a lot of overhead that you are hoping to make back by > sometimes avoiding the physical store of the new tuple. In most > applications I think the "sometimes" isn't going to be often enough > to justify doing it. > > If you have a particular table in a particular app where it is worth it, > I'd recommend writing a BEFORE UPDATE trigger to make the comparisons > and suppress the update when NEW and OLD are equal. In any case, what if I have a trigger that's supposed to increment a counter or similar if issue a supposedly "unneeded" update. -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: