v7: Очень медленно удаляются документы из базы 1С 7.7 на SQL2000 #670912


#0 by niks77
Что можно оптимизировать? А то получается, что трое суток понадобится. Оно может и хорошо, но хочется оптимизировать алгоритм...
#1 by Fragster
1с++ и ReconnectNative каждые 10 документов
#2 by Fragster
а если непосредственное удаление - то вообще прямым запросом грохнуть все документы и движения, пересчитать итоги.
#3 by Fragster
#4 by niks77
В прямых запросах я не силен, но когда-то надо начинать...
#5 by palpetrovich
выгрузить в файловую, удалить "лишние" файлы - все остальные загрузить обратно ..ну или "рядом" :)
#6 by Fragster
там по дате
#7 by palpetrovich
не факт ...или, ой, доки с 2001-го по 2013,  а удалить надо с 2005-го по 2007-й?
#8 by Fragster
ну так про (что-нибудь подобное) "свертку базы до 3-х последних лет" слышал когда-нибудь?
#9 by МихаилМ
в транзакции по 500-1000 документов. реконнектнэйтив через 1000-2000 документов.
#10 by palpetrovich
дык, давно живу, много чего слышал ..автору то пофик по-ходу..
#11 by niks77
2 дай Бог и еще прожить, а автор решил SQL поизучать...
#12 by МихаилМ
зачит лет 10 автора нас не побеспокоит, коли за 5 лет не разобрался с 1с77
#13 by niks77
2 В течении 10 лет, чтобы база не простаивала решил немного ускорить процесс:
#14 by Fragster
А я всегда делал Если Сч % 100 = 0 Тогда Чтобы счетчик не обнулять
#15 by Обработка
А разве вам наплевать что могут быть ссылки на документы? если наплевать то можно прям в скуле грохнуть любые доки за любой период. Букавально за 10 мин. Конечно при этом надо удалять и его движения тоже.
#16 by Обработка
Возьми куски кода от стандартных обработок свертки. 1. Делаешь ввод остаков 2. Удаление движений у доков и потом сами доки можно удалять хоть целый месяц не спеша. Я сейчас в базе 81 не спеша удаляю помечение доки после свертки. Ибо база больша и комп слабый.
#17 by Эльниньо
ТА на 1-й удаляемый док поставь.
#18 by МихаилМ
если база болшая - значит sql -> удалите прямым запросом
#19 by niks77
2 В данном случае можно смело удалять... 2 Так и поставил... 2 Прямые запросы еще не обкатал...
#20 by niks77
2 можно и так - такой код чуть-чуть быстрее работать будет. Fragster, благодарю за помощь. Все доки за два года уже обрезал - разница по производительности между первоначальным кодом и поздним раз в 40-50...
#21 by Lionee
#22 by niks77
2 А "хвосты" в базе никакие не "зависнут"?
#23 by palpetrovich
однозначено "зависнут", при любом выбранном варианте ...да и вообще - основная работа при обрезка базы начинается после обрезки (цы) я, прямо ща :)
#24 by Lionee
у тебя время тратится на распроведение
#25 by Lionee
хвоста канечно
#26 by Lionee
хвосты
#27 by Злой Бобр
Я надеюсь вы понимаете что удаляете?.. Ну и про бекап тоже незабыли?.. Если за 5 лет неделали такого - может проще кого-то нанять? Хотя одной упавшей базой больше или меньше - особо ситуацию неизменит.
#28 by Dolly_EV
Вот: вот она же, немного подправленная (есть возможность удалить только движения, оставив сами доки): после процедуры пересчитать регистры вот этим: на все-про-все в базе ~30Гб - мин.15-20
#29 by Dolly_EV
+ Ну и как бэ .. стоит на копии попробовать))
#30 by ProxyInspector
0. Переносишь остатки и периодические реквизиты 1. ТА устанавливаешь на первый документ 2. С помощью 1С++ запросами помечаешь на удаление документы и удаляешь движения помеченных на удаление документов 3. Восстанавливаешь ТА 4. Не спеша удаляешь помеченные на удаления документы  У нас база порядка 17 GB и 2 млн документов. По времени свертка занимает, на рабочей станции: 0 - перенос остатков - 3 мин 1 - ТА на первый документ - 1 мин 2 - пометка на удаление - 10 мин 3 - восстановление ТА - 5 мин 4 - удаление документов без ссылок ( 1 млн док) - 5 часов. Это можно делать и не монопольно
#31 by Mikeware
Еще проще: фиксируешь остатки по регистрам спецдокументом (а-ля двигатель регистров) прямой записью. Удаляешь все движения по регистрам до даты. Удаляешь документы, на которые нет ссылок после даты (и в периодике) чистишь периодику -------- все это запихивается в планировщик, и отрабатывает каждый месяц в часы наименьшей нагрузки (когда  работает 2-3-4 человека), оставляя в базе последние 3 года.
#32 by Андрей_Андреич
А непосредственное удаление в цикле выборку не сбивает?
#33 by КонецЦикла
Выборка объектов не сбивается
#34 by vde69
удаляй документы в обратном порядке, от самого последнего к первому.
#35 by Злопчинский
а что вы пихаете в реквизиты регистров при проведении по регистрам универсальным двигателем..?
#36 by Mikeware
остатки. в принципе, можно ничего не пихать, просто оставлять остатки в регистре. Но тогда есть шанс по.рить регистр случайным пересчетом, что я однажды лет пяток назад сделал...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С