Есть задача проверить все элементы справочников контрагентов и договоров контрагентов на наличие ссылок на них. Если нет ссылок из документов и определенных справочников, то нужно пометить их на удаление.
В коде на строку с "НайтиПоСсылкам" уходит приблизительно 99.9% времени. Она осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>. В среднем на одного контрагента уходит 30 секунд. А в базе их более 6000. Что в итоге выливается в 50 часов!
Нашёл две аналогичные обработки на инфостарте - там тоже используется "НайтиПоСсылкам".
1. Пометь на удаление все элементы.
2. Проведи удаление помеченных объектов с контролем ссылочной целостности.
3. С оставшихся объектов сними пометку удаления.
в найти по ссылкам можно передовать массив ссылок а не одну. также можно по метаданным построить структуру и для каждой таблицы запустить фоновое задание. будет еще в -цать раз быстрее.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс