23.07.2012, 20:24 | #1 |
Участник
|
Удаление данных через SQL
Здравствуйте,
Я понимаю, что все это ансаппортед способ, я понимаю, что это может привести к потере данных и проч. Итак, необхимо удалить много - много записей (миллионы), и если это делать с помощью саппортед подхода - удаление может занять много времени (год), поэтому необходимо удалить несколько миллионов записей неподдерживаемым, но быстрым способом, т.е. через SQL запросы. План примерно следующий: 1. Составить список тех сущностей, которые могут ссылаться на удаляемую сущность; 2. SQL - ным скриптом очистить поле ссылки в ссылающихся сущностях или удалить их; 3. SQL - ным скриптом удалить миллионы записей из сущности. Если будут связанные записи - я об этом узнаю. Как вы думаете, это подходящий план? Стоит ли еще что-то предпринять (помимо бекапа и скрещенных пальцев)? Спасибо |
|
23.07.2012, 22:40 | #2 |
Чайный пьяница
|
Нормальный план. Когда необходимо быстро зачистить базу - это то, что надо, так что бэкапируйтесь и вперёд за славным Delete.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.07.2012, 17:17 | #3 |
Участник
|
Удаляйте данные частями. Небольшими порциями и в транзакции. А то может подвиснуть все.
|
|
|
|