|
Удаление 500000+ помеченных в БП 2.0 | ☑ | ||
---|---|---|---|---|
0
Митяйский
13.04.18
✎
11:51
|
Может кто подсказать, как можно вычистить помойку после свертки БП 2.0, обойдясь меньшей кровью? Стандартное удаление повесило мой i5 уже на три с лишним часа. Подумываю начать чистить внешней обработкой, только очень не хочется чего-то опять садиться за написание велосипедов.
Может кто какие хитрости знает? |
|||
1
Cool_Profi
13.04.18
✎
11:53
|
Я обычно беру Портативные Инструменты (TormozIT, с тебя магарыч) И чищу по метаданным
|
|||
2
Dmitry1c
13.04.18
✎
11:53
|
(0) выгрузи через выгрузку-загрузку XML данные в чистую базу
|
|||
3
Lama12
13.04.18
✎
11:58
|
(0) 3 часа... :-) Выходные впереди. Подожди.
|
|||
4
Митяйский
13.04.18
✎
11:58
|
(2) Ну так не факт, что мусор не потащится следом.
Я ведь не знаю остались ли там ссылки на старые документы. Свертку запускал со всеми настройками по умолчанию. В предыдущие разы у меня всегда оставались какие-то не до конца свернутые хвосты и недопомеченные документы |
|||
5
Рэйв
13.04.18
✎
12:04
|
(0)Если скуль, то напрямую скальными запросами удаляется в разы быстрее.
|
|||
6
Рэйв
13.04.18
✎
12:05
|
*скульными :-)
|
|||
7
SeriyP
13.04.18
✎
12:11
|
(4) Думаю, что при таком способе удалится процентов 10 из помеченного. И ждать придется долго
|
|||
8
Митяйский
13.04.18
✎
12:29
|
Короче, не удаляется вообще ничего практически.
Эти козлы поснимали галку "только обороты" с субконто документов расчета почти на всех счетах. Соответсвенно и не свернулось толком нихера, все повылазило в остатки. Короче мой косяк, извиняйте. Без велосипедов сегодня не обойтись, увы. |
|||
9
ProxyInspector
13.04.18
✎
12:52
|
Я думаю, что через сутки/двое обработка по удалению вывалиться в дамп.
Если в базе больше 100 000 документов, то это уже не ларек, и типовая обработка по удалению помеченных на удаление документов не работает. Обычно пишется своя обработка по удалению помеченных на удаление объектов порциями. И все работает. Я удалял 1 500 000 документов и ничего |
|||
10
ВикторП
13.04.18
✎
13:00
|
(9) ничего - это сколько длилось?
|
|||
11
Aleksey
13.04.18
✎
13:19
|
(5) Я бы не стал бы так делать
Есть 100500 регистров сведений где участвует документ (типа первичные документы наличие файла и т.д.) и еще 100600 справочников (типа прикрепленные файлы, циклы обмена и т.д.) А еще куча подвязок если используется 1С-Отчетность и 1с-ЭДО Забодаешься битые ссылки вычищать ... |
|||
12
Segate
13.04.18
✎
13:22
|
(10) если паралеллизмом заморочиться, и сервер позволяет, то норм. Не долго должно быть
|
|||
13
Мандалай
13.04.18
✎
13:32
|
(4)Если мусор потащится следом значит на него есть ссылки - как ты в этом случае собрался удалять?
|
|||
14
vis_tmp
13.04.18
✎
13:34
|
(9)Если и уже написанные
|
|||
15
Ботаник Гарден Меран
13.04.18
✎
13:58
|
В типовую обработку добавлял кнопку, которая снимала флажки в списке помеченных на удаление и устанавливала нужное количество флажков (запрашивалось в диалоге или делалось несколько пунктов меню).
По 500 и 1000 элементов вполне быстро удалялось. |
|||
16
Maniac
13.04.18
✎
14:00
|
сделать это на нормальном компе.
с хорошим процом и памятью. плюс чтобы 1С 64 битная |
|||
17
ВикторП
13.04.18
✎
14:14
|
(12) Я сам параллельные процессы не "делал" , если опыт , поделитесь- что делали и сколько времени ушло на сам алгоритм
|
|||
18
Широкий
13.04.18
✎
14:31
|
Удаляй скульными методами
|
|||
19
piter3
13.04.18
✎
14:34
|
(9) И сколько по времени дает экономию?Пробовал,особой разницы не заметил
|
|||
20
Buster007
13.04.18
✎
14:42
|
(19) сколько потоков, во столько раз и быстрее
|
|||
21
s202
13.04.18
✎
15:12
|
(0) с диска ИТС обработка "УдалениеПомеченных" с отборами -
не подойдет ? |
|||
22
s202
13.04.18
✎
15:13
|
Если отбирать и делать по частям - контроль проходит в разы быстрее.
|
|||
23
Segate
13.04.18
✎
15:36
|
(17) Так как 1с не умеет в паралеллизм, то можно пойти двумя способами:
1й: на уровне SQL курить max degree of parallelism, или как-то так... раскуривать результирующие запросы и раскидывать на уровне скуля 2й: запускать выборку, потом бить выборку на части и удаление каждой из порций запускать в рег. задании... |
|||
24
Cyberhawk
13.04.18
✎
15:36
|
Свертка базы - безсмысленное дело.
Свертка регистров - наоборот. |
|||
25
piter3
13.04.18
✎
15:37
|
(20) Это пятничная шутка такая?
|
|||
26
Митяйский
13.04.18
✎
15:38
|
(21) я не догадался даже в унирепс 81 посмотреть, если честно
не знал, что оно все еще работает |
|||
27
Tatitutu
13.04.18
✎
15:47
|
Как быстро "удалить все документы и движения" в базе (Альтернатива)
http://catalog.mista.ru/public/795965/ |
|||
28
Segate
13.04.18
✎
15:52
|
(25) не, ну при наличии неограниченных ресурсов, можно приблизится к подобному... Если каждый из потоков будет в своем рабочем процессе и на каждый будет свое физическое ядро... То в принципе это будет работать быстрее... вопрос остается только в ожиданиях на блокировках... но тут надо играться со степенью изоляции..
|
|||
29
ProxyInspector
13.04.18
✎
16:01
|
(19) Причина из-за которой приходится изобретать велосипед при при удалении помеченных объектов
1. Для 1с8 - это необходимость монопольного доступа к базе 2. Типовая обработка вываливается в дамп, так как она создает таблицу ссылок для каждого помеченного на удаление элемента. Если у вас 1000 элементов, то данная таблица может доходить до 1 млн записей. Если 10 000, то до 100 млн записей. При этом эта таблица совершенно не нужна. А так удаление 1 500 000 документов заняло несколько суток в фоновом режиме |
|||
30
Serg_1960
13.04.18
✎
16:02
|
(0) "Может кто подсказать, как можно" - конечно подскажу.
Гуглите :) https://yandex.ru/yandsearch?text=удалениепосле%20свертки&lr=10754&site=forum.mista.ru |
|||
31
ProxyInspector
13.04.18
✎
16:07
|
Если у вас достаточно большая база пусть будет 3 млн. документов из которых 1.5 млн помеченных на удаление.
ТО стандартные способы с планами обмена не сработают. Там файл обмена будет несколько сотен Гб. |
|||
32
piter3
13.04.18
✎
16:08
|
(29) Заинтриговали
|
|||
33
Serg_1960
13.04.18
✎
16:08
|
(27) Это неправильный совет :( Но в нужном направлении :)
Когда используется обмен, то отключаются все платформенные проверки (даже контроль целостности данных) и большинство программных действий и проверок. И в итоге можно получить те-же грабли, что и при непосредственном удаление объектов с использованием ".ОбменДанными.Загрузка = Истина". |
|||
34
ProxyInspector
13.04.18
✎
16:11
|
Возможны два способа
1. ОЛЕ 2. WEB обмен Однако не смотря на свою крутизну разработчики 1с так и не смогли написать универсальных обменов для одинаковых конфигураций через ОЛЕ или WEB. |
|||
35
ProxyInspector
13.04.18
✎
16:29
|
Вот сейчас стоит задача База 3.6 млн документов за 5 лет. Учет велся по 60 организациям. Сейчас учет ведется где-то по 10 организациям. Требуется перенести в чистую базу пару организаций.
Через универсальный WEB обмен это заняло примерно 6 часов. Было перенесено 62 тыс документов. Без ошибок. Все остатки сошлись. Я начинаю любить 1С8 |
|||
36
Доминошник
13.04.18
✎
16:32
|
(35) А где почитать-посмотреть по поводу "универсального WEB обмена"?
|
|||
37
ProxyInspector
13.04.18
✎
16:36
|
А это сами пишете. Там не очень сложно. Так же как и универсальный обмен через ОЛЕ.
Для WEB есть несколько тонкостей. Там есть какое то отграничение на размер передаваемого объема информации. В моем случае при попытке передать информацию о 30 тыс. документов обмен отваливался. Пришлось передавать информацию частями |
|||
38
ProxyInspector
13.04.18
✎
16:45
|
Я посмотрел требуется порядка 100 строк кода на формирование выгрузки любого объекта базы в XML, включая регистры сведений. И столько же на загрузку.
Это конечно не относится к бухгалтерии. Там наверное сложнее. Уж больно криво все реализовано в бухгалтерии. |
|||
39
Aleksey
13.04.18
✎
16:59
|
(23) они будут блочить друг друга. я пробовал паралельно удалять доки по разным организациям - не взлетело, нарывался на блокировки
|
|||
40
ProxyInspector
13.04.18
✎
17:05
|
(39) Для 1с8 все параллельности не актуальны. 1с8 очень плохо работает по настоящему параллельно. Разработчики 1с8 умудрились сделать так, что параметр "ВремяОжиданияБлокировки" при записи элемента не работает. И любая попытка записать заблокированный элемент справочника приводит к немедленной взаимоблокировке.
Для решения этой проблемы можно использовать Попытка Исключение вот тогда становится немного лучше |
|||
41
ProxyInspector
13.04.18
✎
17:06
|
Это все касается толстого клиента. Но у меня есть ощущение, что на УФ не лучше.
|
|||
42
mexanik_96
13.04.18
✎
17:14
|
(23) ну опять... она и не должна уметь, это проблемы субд и планировщика
|
|||
43
ВикторП
17.04.18
✎
09:44
|
(40), (41) какой клиент тут ни при чем, вы не смогли распараллелить - надо чтобы записи не пересекались - у вас не так - от этого и блокировки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |