|
Какой быстрый способ удаления кучи записей из РС? | ☑ | ||
|---|---|---|---|---|
|
0
Fragster
гуру
03.10.14
✎
12:22
|
Имеем независимый непериодический РС.
Измерения условные - Номенклатура и серийный номер, основной отбор по обоим измерениям. Записей куча. За раз может изменяться (удаляться или добавляться) несколько тысяч записей, но это - проценты от общего числа по номенклатуре. И если с добавлением решается "Записать(ложь)", то с удалением как-то не очень хорошо. Сейчас удаляю через менеджер записи и "Удалить()". Как ускорить? Прямое удаление в БД не интересует, так как есть еще и файловые базы, где это также должно быстро работать. |
|||
|
1
Ёпрст
гуру
03.10.14
✎
12:26
|
а чего так ?
Если отборы установлены, то удаление же мгновенное, у вас не так разве ? |
|||
|
2
Широкий
03.10.14
✎
12:29
|
Почему не набор записей?
|
|||
|
3
Fragster
гуру
03.10.14
✎
12:37
|
(1) мгновенное, да не очень, к сожалению
(2) потому что для набора записей РС вид сравнения "в списке" не катит, только "равно". Через менеджер записи чуть быстрее чем через набор у меня по замерам получилось. |
|||
|
4
butterbean
03.10.14
✎
12:39
|
может получится добавить новое измерение для отбора удаляемых? или не вариант?
|
|||
|
5
Ёпрст
гуру
03.10.14
✎
12:40
|
(3) ээ... получить всё запросом и потом через установку отбора и удалить, не ?
|
|||
|
6
Fragster
гуру
03.10.14
✎
12:44
|
(5) я хз, но сейчас так:
Результаты = Запрос.ВыполнитьПакет(); РезультатДобавления = Результаты[Результаты.ВГраница()]; РезультатОбновления = Результаты[Результаты.ВГраница()-1]; Если Не (РезультатДобавления.Пустой() И РезультатОбновления.Пустой()) Тогда Набор = РегистрыСведений.РегистрСведений.СоздатьНаборЗаписей(); Набор.Загрузить(РезультатДобавления.Выгрузить()); Набор.Записать(Ложь); Выборка = РезультатОбновления.Выбрать(); Регистр = РегистрыСведений.РегистрСведений; Пока Выборка.Следующий() Цикл Запись = Регистр.СоздатьМенеджерЗаписи(); ЗаполнитьЗначенияСвойств(Запись, Выборка); Если Выборка.Количество = 0 Тогда Запись.Удалить(); Иначе Запись.Записать(Истина); КонецЕсли; КонецЦикла; КонецЕсли; обновление - это в 99,9999% случаев удаление |
|||
|
7
Fragster
гуру
03.10.14
✎
16:39
|
что, быстрее не получится?
|
| Форум | Правила | Описание | Секции | Поиск |