При обслуживании различных баз данных 1С:Предприятие разработчики часто сталкиваются с ситуацией, когда процесс реструктуризации таблиц информационной базы протекает с разной скоростью. Рассмотрим подробнее, почему даже при сопоставимых объемах данных время выполнения этой операции может кардинально отличаться.
Первым делом необходимо проанализировать, в каком режиме работает ваша база. Существует фундаментальная разница между файловым режимом (.1CD) и клиент-серверным (SQL):
MS SQL Server или PostgreSQL). Реструктуризация превращается в набор SQL-инструкций по изменению структуры таблиц. Здесь скорость зависит от производительности самого сервера, настроек tempdb, лога транзакций и текущей нагрузки на экземпляр сервера.Разберем влияние «железа». Даже если базы расположены на одном сервере, они могут находиться на разных логических или физических дисковых накопителях.
Если одна база развернута на быстром NVMe или Intel Optane накопителе, а другая — на стандартном HDD, разница в скорости выполнения операций I/O (чтение/запись) будет колоссальной. Реструктуризация — это интенсивный процесс перемещения больших объемов данных. При нехватке скорости дисковой подсистемы процесс перестройки таблиц неизбежно упирается в физические ограничения оборудования.
Проанализируем содержимое таблиц. Количество записей — не единственный показатель. Важную роль играют:
Если мы работаем в SQL-варианте, огромную роль играет статистика СУБД. Если статистика по таблицам давно не обновлялась, оптимизатор может выбрать неэффективный план выполнения операции по копированию данных в новую структуру. Рекомендуем регулярно выполнять регламентные процедуры по обновлению статистики (UPDATE STATISTICS) для поддержания высокой скорости работы.
Чтобы понять, где именно «узкое место», предлагаем выполнить следующие шаги:
Монитор ресурсов в Windows), чтобы увидеть, какой именно накопитель испытывает максимальную нагрузку.Конфигуратор или через SQL Management Studio.Подводя итог, можно сделать вывод: разная скорость реструктуризации — это закономерное следствие различий в аппаратной платформе, настройках СУБД и сложности структуры метаданных. Разобрав эти факторы, вы сможете точнее прогнозировать время обслуживания своих баз данных.