Каталог решений - Поиск и удаление объектов без ссылок

Поиск и удаление объектов без ссылок

Поиск и удаление объектов без ссылок

В наличии

Обработка предназначена для быстрого поиска объектов, на которые нет ссылок в других таблицах базы данных, и последующего удаления найденных объектов.

Категория:

Описание

Обработка предназначена для быстрого поиска объектов, на которые нет ссылок в других таблицах базы данных, и последующего удаления (или пометки на удаление) найденных объектов.

При поиске ссылок на объекты вместо использования платформенной функции НайтиПоСсылкам() реализован альтернативный механизм поиска ссылок запросом к таблицам базы данных. Это дает существенный выигрыш в производительности на больших базах данных, поскольку функция НайтиПоСсылкам() формирует неоптимальные, тяжелые запросы к базе данных, приводящие к высокой избыточной нагрузке на сервер СУБД и длительному выполнению таких запросов. 

Альтернативный алгоритм поиска ссылок заключается в выполнении следующих действий:

  1. Обход объектов метаданных и поиск в них ссылок на проверяемый объект (справочник или документ). Проверяются типы значений полей объектов.
  2. По найденным объектам производится проверка наличия ссылок на проверяемый объект в таблицах базы данных. Сформированный список таблиц базы данных, содержащих ссылки на проверяемую таблицу, сохраняется и при повторном запуске обработки автоматически восстанавливается, что позволяет в дальнейшем ускорить повторный поиск ссылок.
  3. По найденным на предыдущем шаге объектам метаданных формируется запрос, возвращающий таблицу ссылок на проверяемую таблицу.
  4. Формируется таблица ссылок, отсутствующих в полученной на предыдущем шаге таблице (то есть объекты без ссылок, которые можно затем пометить на удаление/удалить).

Порядок работы с обработкой.

  1. Выбор проверяемого объекта (справочника или документа).


     

  2. В случае необходимости есть возможность настройки отбора проверяемых объектов.


     

  3. Находим ссылки на объект метаданных по кнопке "Найти ссылки на объект метаданных" (выполнение пунктов 1-2 алгоритма поиска ссылок)

    При необходимости можно отключить поиск ссылок в ведущих измерениях регистров сведений (например, по измерению Объект регистра сведений ВерсииОбъектов). При удалении объектов автоматически удаляются также и записи в "подчиненных" регистрах сведений, что исключает появление битых ссылок.
     

  4. Переходим на закладку "Объекты без ссылок" и нажимаем кнопку "Найти объекты без ссылок"


     

  5. Нажимаем кнопку Пометить объекты на удаление / Удалить. Запускается процесс удаления объектов с выводом прогресса выполнения операции.

    Важно! В отличие от команды "Пометить объекты на удаление", команда "Удалить" производит непосредственное удаление элемента без возможности восстановления и без проверки ссылочной целостности. Использовать данный метод нужно крайне осмотрительно.

Рекомендуется перед удалением объектов из базы данных сделать резервную копию базы (как вариант сохранить данные удаляемой таблицы с помощью обработки Выгрузка и загрузка данных XML).

Для выполнения операций обработки в фоновом режиме рекомендуется встроить обработку в конфигурацию или в расширение конфигурации.

Дополнительная информация

Тестирование подсистемы проводилось на версии платформы 8.3.21.1302 (режим совместимости конфигурации 8.3.14). При разработке использовалась Библиотека стандартных подсистем версии 3.1.7.

has been added to your cart:
Оформление заказа