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

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

nomaly

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

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

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

Вложения

H

Hryv

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

Hryv

#4
У вас чтоли больше 2000 ОС?

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

Как вариант, можно сделать на SQL замер при переоценке меньшего числа ОС и посмотреть что там всплывет
 
S

shoy

#5
При обработке документа "Начисление амортизации и погашение стоимости" этот процесс затягивается на нереально долгое время.
Может быть стоит разделить два процесса на два этапа: подготовка к проведению и само проведение документа?

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