| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Phillip Sitbon <phillip(at)sitbon(dot)net> |
| Cc: | pgsql-novice(at)postgresql(dot)org |
| Subject: | Re: Delete performance |
| Date: | 2009-06-15 18:46:52 |
| Message-ID: | 21389.1245091612@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-novice |
Phillip Sitbon <phillip(at)sitbon(dot)net> writes:
> I've had to do this quite a bit, and here's how I usually go about it:
> DELETE FROM data_structures_items WHERE NOT EXISTS
> (SELECT 1 FROM data_structures WHERE id_structure=id_data_structure LIMIT 1);
> Even when the item in the subquery is a primary key, I find it
> semantically informative to always use "LIMIT 1".
EXISTS implies LIMIT 1 for its subquery; there's no value for either
comprehension or performance in adding that. I'd recommend leaving
it off, because it makes your query syntax nonstandard for no benefit.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tim | 2009-06-16 01:08:46 | Fwd: Yum Update Errors |
| Previous Message | Phillip Sitbon | 2009-06-15 18:34:40 | Re: Delete performance |