Оптимизация запроса

  • Автор темы Автор темы nomaly
  • Дата начала Дата начала
N

nomaly

1С 7.7(27), Бухгалтерия(514), MS SQL 2008 (Express) :)

При обработке документа "Начисление амортизации и погашение стоимости" этот процесс затягивается на нереально долгое время. В файловом варианте обрабатывается за считаные минуты. Я понял только то, что 90% времени выполняется функция глРасчетАмортизацииОС в глобальном модуле. Сам я в этом не шарю почти. Помогите оптимизировать время выполнения пожалуйста.

Код функции в прикреплённом файле.
 

Вложения

Я понял только то, что 90% времени выполняется функция глРасчетАмортизацииОС
А как вы это определили?
Если делали замер производительности через отладчик, то хорошо бы выложить сюда файлик с результатами замера
 
pff в архиве
Посмотреть вложение zamer.rar

И то же самое на скриншоте (240кб)
zamer.JPG

З.Ы. Но опять же, я замерял на файловой версии
 
У вас чтоли больше 2000 ОС?

На сколько видно из замера большинство операций, занимающих время, выполняются 2171 или 2168 раз, а глРасчетАмортизацииОС вызывается 2171 раз
Поэтому особо ничего не соптимизируешь

Как вариант, можно сделать на SQL замер при переоценке меньшего числа ОС и посмотреть что там всплывет
 
При обработке документа "Начисление амортизации и погашение стоимости" этот процесс затягивается на нереально долгое время.

Может быть стоит разделить два процесса на два этапа: подготовка к проведению и само проведение документа?

Это поможет распределить время. У нас в одной конфигурации кнопка "Провести" отражает статус между такими процессами.
 
Можно попробывать оптимизировать базу
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!