• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

nomaly

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

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

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

Вложения

  • _______________________.txt
    29,2 КБ · Просмотры: 514
H

Hryv

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

nomaly

pff в архиве
Посмотреть вложение zamer.rar

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

З.Ы. Но опять же, я замерял на файловой версии
 
H

Hryv

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

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

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

shoy

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

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

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

dimetra2008

Можно попробывать оптимизировать базу
 
Мы в соцсетях:

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