Что измеряет трассировка производительности 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
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти