Меню

Что измеряет трассировка производительности ST05?

Что измеряет трассировка производительности ST05?

Общеизвестно, что буферизация данных может повысить производительность программы. Напишем простую программу, которая получала бы одну и ту же запись, например, из таблицы мандантов T000,  один раз из табличного буфера и один раз непосредственно из базы данных. Замерим время, непосредственно перед и после соответствующих select-комманд. Вычислим разность времен и получим время, затраченное не каждую из них. Ну и проведем трассировку производительности, а для удобства ее включения заведем пустой параметр, просто, чтобы появлялся селекционный экран и давал паузу для включения трассировки.


REPORT  ZQK001.
data
  : ls type t000
  , a  type i, b type i
  , t1 type i, t2 type i
  .
parameters dummy.
start-of-selection.
  get run time field a.
  select single * from t000 into ls where mandt = sy-mandt.
  get run time field b.
  t1 = b - a.
  get run time field a.
  select single * from t000 bypassing buffer into ls where mandt = sy-mandt.
  get run time field b.
  t2 = b - a.
  write: / 'buffering       ', t1, 'mks'
       , / 'bypassing buffer', t2, 'mks'
       .
  write: / 'BOT TAk!'.

Исполним программу и посмотрим в ST05 результаты трассировки обращений к таблице через SQL и через буфер. Первое измерение проигнорируем. А вот начиная со второго будем получать что-нибудь, например, такое.

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти