On Mon, Jan 24, 2005 at 12:29:12PM +0800, Öܵ½¾© wrote:
> I have a table with 500,000 records which has some invalid records,
> I had wrote a program to check it, by the program I get all OIDs of
> the redundant records, so I use "delete from tableXXX where oid =XXX1
> or oid =XXX2 or oid =XXX3 ... or oid=XXX1000, but it take me a long
> time to complete this action, then I change the query to " delete from
> tableXXX where oid in (XXX1,XXX2,XXX3,....X1000) ", but I got same
> result, does anyone can tell me the reason or postgresql has a bad
> performance in such situation.
What does EXPLAIN ANALYZE DELETE ... show? Do you have an index
on the oid column? Do you have foreign key constraints that need
to be checked when rows are deleted? Do you have rules or triggers
that are being invoked?
--
Michael Fuhr
http://www.fuhr.org/~mfuhr/