Smita Mahadik wrote:
Hi,

In my application I m deleteing large no of rows from table based on
certain condition. This takes lot of time and if sometimes my
application fails it starts all over again...since the coomit is done
at the end of transactions. Is there a way i can do commit when
certain no of rows have been deleted? For eg if i need to delete 2
million rows i should be able to commit after say 10,000 rows.

No - the whole point of the transaction is it all works or none of it does. But, if you have a suitable ID/Name/timestamp/other varying column you can break it into smaller chunks:

DELETE FROM contacts WHERE surname LIKE 'A%';
DELETE FROM contacts WHERE surname LIKE 'B%';
...etc... don't forget a final "full" delete to catch anything you miss
DELETE FROM contacts;

Ideally you'll have something with an index on it.
--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to