Показать сообщение отдельно
Старый 27.08.2019, 16:48   #17  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Интересно, что если запускать синхронизацию с такими параметрами
X++:
appl.dbSynchronize(0, false, true, true, [0], false)
(вызов отсюда \Classes\SysCheckListItem_CreateTablesUpgrade\main)

то в случае когда вызов идет при уже существующих в базе табличках, то аксапта помимо проблемных запросов, которые обсуждали выше, выдает еще такой запрос на каждую табличку:
X++:
exec [sys].sp_tables N'TableName',N'%',NULL,NULL,@fUsePattern=1
и длится он 150 миллисекунд (в 2-3 раза дольше чем запрос который мы ускоряли).
Ускорить его выполнение через коррекцию плана запроса тоже невозможно.

Т.е. в этом случае синхронизация длится почти час!

В общем, все еще зависит от параметров синхронизации.
Хорошо, что это неосновной случай (используется при конвертации базы, когда создаются таблички без создания индексов. Первый запуск пока табличек еще нет, проходит относительно быстро за 10-15 минут. А второй очень долго).
За это сообщение автора поблагодарили: sukhanchik (4), -DocSerzh- (1), 6a6kin (1).