Как удалить записи рег.сведений за период?

1. e.a.afanasyev 17 13.04.15 09:52 Сейчас в теме
Есть нетиповой непериодический регистр сведений "Журнал действий кассира". В нем есть измерение "Дата операции" (дата в измерении, потому что сам период не нужен - не нужны "срезы"). Данные за год, размер таблицы больше 4ГБ.
Нужно удалить данные за полгода. Как лучше сделать?
1. Запросом получить записи, которые нужно оставить. Выгрузить в таблицу значений, а создать пустой набор записей и в него загрузить таблицу?
2. Выбрать записи, которые нужно удалить и в цикле их удалить?

Какой вариант будет производительнее?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. spacecraft 13.04.15 13:26 Сейчас в теме
(1) e.a.afanasyev, 3 вариант. Запросом выбрать записи, которые нужно удалить. И создать пустой набор записей по ним.
2. spezc 784 13.04.15 10:06 Сейчас в теме
3. volga23rus 13.04.15 10:48 Сейчас в теме
Конечно первый вариант!
Так ты за раз запишешь набор, а при втором варианте будет много обращений к регистру.
4. avto1c 13.04.15 11:07 Сейчас в теме
Удалить 2 гига в цикле ИМХО дольше будет.
5. Dreadnouth 13.04.15 12:20 Сейчас в теме
если совсем умно делать, то создать документ "Архив действий кассира" и в него перенести КЛЮЧЕВЫЕ данные перед удалением или сохранить вне базы во внешнем файле
6. kudlach 13 13.04.15 12:56 Сейчас в теме
(5) Dreadnouth, тогда уж телать еще один регистр - "Архив" и в него переносить удаляемые данные.
А уж чем переносить второй вопрос - хоть действиями в форме списка записей регистра "Действия кассира".
Вопрос будет только в актуальности данных - сколько хранить в регистре, сколько в архиве.
(1)Если регистр подчинен регистратору - тут засада. Если не подчинен - выборку делай запросом конечно. Ну и можно попробовать с блокированием объекта на время выполнения / попыткой, или проконтролировать , что никакой кассир во время выполнения не работает.
7. reazek 13.04.15 13:15 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот