Обсуждение: Commiting after certain no of rows have been deleted
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.
Regards
smita
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