Заметки старого АБАПника
Дихотомический поиск в стандартной таблице.
4. Дихотомический поиск в стандартной таблице.
Мы уже ранее убедились, что дихотомический поиск быстрее сплошного. Также известно, что в стандартных внутренних таблицах также можно устраивать дихотомический поиск для чего можно использовать фразу BYNARY SEARCH. Не забудем, что для того, чтобы это работало без ошибок, стандартную таблицу нужно отсортировать по тем полям, по которым будет осуществляться поиск. Добавим в предыдущую программу (REPORT ZQK003) дихотомический поиск по стандартной таблице и измерим его продолжительность. Заодно замерим время , потребное на сортировку стандартной внутренней таблицы.
REPORT ZQK004.
data
: begin of gs
, nnn type n length 10
, end of gs
, gt1 like standard table of gs with non-unique key nnn
, gt2 like sorted table of gs with unique key nnn
, gt3 like hashed table of gs with unique key nnn
, a type i, b type i
, t1 type i, t2 type i, t3 type i, t4 type i, t5 type i
, count type i
, goal like gs-nnn
.
parameters power type i default 20.
start-of-selection.
do power times.
count = 2 ** sy-index.
refresh gt1.
do count times.
gs-nnn = sy-index.
append gs to gt1.
enddo.
gt3 = gt2 = gt1.
goal = count - 1.
get run time field a.
get run time field a.
read table gt1 into gs with table key nnn = goal.
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти
Обсуждения 3
Комментарий от
Олег Башкатов
| 09 декабря 2014, 00:01
если нет - то нет (в принципе они не так важны).
но если меряем точности, хотелось бы знать чем меряем)))
Колонка весьма интересная - спасибо!
PS. у меня схожий результат.
Комментарий от
Оберманн З. Л.
| 10 декабря 2014, 11:22
Олег Башкатов 09 декабря 2014, 00:01
К Автору: можно ли указать версию системы, уровень ABAP, ОС и тех.параметры сервера на которых производились замеры?
если нет - то нет (в принципе они не так важны).
но если меряем точности, хотелось бы знать чем меряем)))
Колонка весьма интересная - спасибо!
PS. у меня схожий результат.
Злоберманн с радостью заметил интерес, проявленный к данной теме, и предполагает вернуться к этой теме в близком будущем.
Комментарий от
Иван Рыбкин
| 29 января 2015, 14:53
Но при единичном READ TABLE , действительно быстрее без сортировки. Спасибо !