From: | "Scott Marlowe" <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com> |
Cc: | "Ivan Sergio Borgonovo" <mail(at)webthatworks(dot)it>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: left join with smaller table or index on (XXX is not null) to avoid upsert |
Date: | 2009-01-19 07:48:28 |
Message-ID: | dcc563d10901182348ya92938cr6f8c01b7fdf8c4df@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Jan 19, 2009 at 12:12 AM, Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com> wrote:
> On Mon, Jan 19, 2009 at 2:44 AM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> wrote:
>> Watch out for bloat when doing this. A simple where change of
>>
>> update table set b = 45 ;
>>
>> to
>>
>> update table set b = 45 where b <> 45 ;
>>
>> can save the db a lot of work, and if you can apply the same logic to
>> your update to save some dead tuples it's worth looking into.
>
> I wonder why DB can't do it on its own :)
Submit a patch. :)
But seriously, it's doing what you told it to do. There might be
corner cases where you need a trigger to fire for a row on change, and
short-circuiting could cause things to fail in unexpected ways.
From | Date | Subject | |
---|---|---|---|
Next Message | Grzegorz Jaśkiewicz | 2009-01-19 07:53:02 | Re: left join with smaller table or index on (XXX is not null) to avoid upsert |
Previous Message | Grzegorz Jaśkiewicz | 2009-01-19 07:12:25 | Re: left join with smaller table or index on (XXX is not null) to avoid upsert |