Re: Commiting after certain no of rows have been deleted

Поиск
Список
Период
Сортировка
От Richard Huxton
Тема Re: Commiting after certain no of rows have been deleted
Дата
Msg-id 43A92293.6000309@archonet.com
обсуждение исходный текст
Ответ на Commiting after certain no of rows have been deleted  (Smita Mahadik <smita.mahadik@fedex.com>)
Список pgsql-sql
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


В списке pgsql-sql по дате отправления:

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: Help me do a LOOP
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: Help on a complex query (avg data for day of the week)