Re: using limit with delete

From: Csaba Nagy <nagy(at)ecircle-ag(dot)com>
To: Chris Smith <chris(at)interspire(dot)com>
Cc: Neil Conway <neilc(at)samurai(dot)com>, Postgres general mailing list <pgsql-general(at)postgresql(dot)org>
Subject: Re: using limit with delete
Date: 2005-04-07 08:21:30
Message-ID: 1112862090.2869.48.camel@coppola.muc.ecircle.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Chris,

Just a thought: if you have to clear the table anyway, wouldn't it work
for you to use truncate ? That should be faster than delete.

HTH,
Csaba.

On Thu, 2005-04-07 at 04:11, Chris Smith wrote:
> I don't care about the order in my particular case, just that I have to
> clear the table.
>
> I'll try the subquery and see how I go :)
>
> Thanks!
>
> Neil Conway wrote:
> > Chris Smith wrote:
> >
> >> I'm trying to use a limit clause with delete, but it doesn't work at
> >> the moment
> >
> >
> > It isn't in the SQL standard, and it would have undefined behavior: the
> > sort order of a result set without ORDER BY is unspecified, so you would
> > have no way to predict which rows DELETE would remove.
> >
> >> delete from table where x='1' limit 1000;
> >
> >
> > You could use a subquery to achieve this:
> >
> > DELETE FROM table WHERE x IN
> > (SELECT x FROM table ... ORDER BY ... LIMIT ...);
> >
> > -Neil
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> > (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
> >

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Gagnon 2005-04-07 12:20:12 Improvement for COPY command .. unless it already exists (If yes please tell me!)
Previous Message Chris Smith 2005-04-07 02:27:07 Re: using limit with delete