Ускорение процесса обновления будет достигнуто за счет минимизации манипуляций над данными и их максимального переноса на уровень системы управления базой данных (СУБД).
В процессе «традиционной» реструктуризации последовательно анализируются все объекты конфигурации и для каждого объекта выполняется анализ изменений, создается новая таблица в базе данных, соответствующая новой структуре объекта, а также перенос данных. Причем наибольшее количество времени занимает перенос данных, операции которого могут быть как сложными, так и простыми.
В новом же механизме оптимизация реструктуризации достигнута не за счет локальных изменений «традиционного механизма», а за счет создания абсолютно нового механизма. При этом появившийся механизм также обеспечивает транзакционность, но более сложным способом.
Значительное ускорение реструктуризации достигнуто за счет реализации ряда идей:
- Делегирование максимального количество операций на уровень СУБД, поскольку это наиболее близкая к данным часть и она имеет большие возможности изменения данных;
- Обработка только тех таблиц СУБД, в которых изменения конфигурации могут вызвать изменение данных. В «традиционном» механизме это было не всегда так. Например, при изменении реквизита табличной части документа копировались данные и основной таблицы, и всех табличных частей документа;
- Отдельная реструктуризация табличных частей. При этом возможно отдельное «пореквизитное» их изменение. Например, если добавляется реквизит к табличной части, то к таблице просто добавляется новый столбец, без модификации основной таблицы.
- Добавление или удаление столбцов таблиц. Эти операции проводятся теперь на текущих таблицах (раньше создавались новые таблицы и в них переносились данные);
- Добавление или удаление индексов. Новый индекс создается без формирования новых таблиц и переноса данных. Такие операции могут выполняться, например, при установке индексирования у реквизита.
- Изменение существующих индексов. Также выполняется без создания таблиц и переноса данных. Например, кластерный индекс регистра сведений меняется тогда, когда пользователь добавляет измерение.
«Помимо ускорения есть и другой положительный момент. Во многих случаях не перестраиваются индексы. Это позволяет сохранить их актуальность, сохранить статистику, сократить место, требуемое для реструктуризации», – пишут в технологическом блоге «1С».
Пока реализована реструктуризация не всех объектов, а только основных:
- Планов обмена;
- Справочников;
- Документов;
- Журналов документов;
- Планов видов характеристик;
- Планов счетов;
- Регистров сведений;
- Регистров накопления;
- Регистров бухгалтерии.
Напомним, что ранее разработчиками была анонсирована доработка механизма расширений, появление настройки объединения состава и типа объектов и другие функции, которые появятся в «1С:Предприятие» версии 8.3.11.