Текущее время: Вт, апр 16 2024, 08:23

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Оптимизация
СообщениеДобавлено: Чт, июн 15 2017, 09:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Прогнал программу через транзакцию SAT и получил такой результат
Изображение

Не очень понимаю почему вызов одного и того же ФМ-а занимает разное время и так сильно отличается. Количество вызовов ФМ-ов одинаковое. Сами вызовы тоже идентичны
Code:
  CALL FUNCTION 'ZPM_WORKS_GET_FACT_FROM_BSIS'
    EXPORTING
      iv_kstar_group = lc_kstar_group
      iv_bukrs       = ps_data-bukrs
      iv_aufnr       = ps_data-aufnr
    IMPORTING
      et_bsis        = lt_bsis[].


Может кто подскажет в чем тут дело? Погрешности подсчета?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация
СообщениеДобавлено: Чт, июн 15 2017, 09:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Вы посмотрите на места вызовов этого ФМ. Скорее всего ФМ вызывается с разными параметрами. Параметры задают условия с которыми работает ФМ. Вполне возможно, что в одном случае условия таковы, что выполняется большой и сложный алгоритм, а в другом - может быть просто выход сразу. И даже может быть такая же работа при одних и тех же параметрах. Самый простой пример: кэшированное чтение. При первом вызове с набором параметров идет чтение из БД (медленно), а при втором - уже чтение из кэша.
И даже при чтении из БД тоже такое может быть, т.к. может происходить кэширование на уровне самой БД.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация
СообщениеДобавлено: Чт, июн 15 2017, 09:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Кодер, нет вызовы ИДЕНТИЧНЫ. Т.е. параметры различаются конечно, но в обоих случаях поведение идентично - первый вызов читает из БД, все последующие из кеша. Собственно сам ФМ как раз и написан для кешированного чтения.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация
СообщениеДобавлено: Чт, июн 15 2017, 11:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Ну так вы же сами все и объяснили: первое чтение из бд , второе - из кэша. Вот и разница. Кто из них тормозит - смотрите сами внимательно ( т.к. если кэш сделали\используете плохо, то тупить будет он, а не бд).

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация  Тема решена
СообщениеДобавлено: Чт, июн 15 2017, 11:37 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 301
Имеется ввиду первое чтение при аналогичных параметрах.

Но в общем нашел я ошибку. Как оказалось (как всегда) сам стормозил. Я из БД читаю данные, потом их сортирую по нужному полю. Только вот при чтении из внутренней таблицы я забыл указать BINARY SEARCH.
В одном случае всего 2 тыс записей и отсутствие BIUNARY SEARCH особо не влияет. А в другом случае 90 тыс. записей, поэтому и получается такой перекос в работе :(

всем спасибо за участие - не забывайте про BINARY SEARCH!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Оптимизация
СообщениеДобавлено: Чт, июн 15 2017, 12:51 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 09:38
Сообщения: 170
Если таблица будет использоваться преимущественно для многократного чтения без операций модицификации, желательно использовать sorted или hash, для избежания таких вот проблем.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB