Здравствуйте.
Подскажите пожалуйста.
Есть табличка БД mvke(не буферизованная). Делаю 100000 отдельных select-ов из неё по первичному ключу и засекаю время выполнения.
Рассмотрел два случая:
1) если табличка mvke пустая то 100000 отдельных select-ов выполняются 21, 258 секунд
2) если в табличка mvke заполнена 1.5 милионов строк время выполения 21, 747 секунд.
Т.е время выполнения при пустой табличке и заполненной 1.5 миллионами строк почти не отличается( примерно 21 секунда) если делаем селект по первичному ключу.
Code:
data lvorm type lvorm.
data: time2 type i,
time1 type i,
time_diff type i.
get run time field time1.
do 100000 times.
select single lvorm from mvke client specified into lvorm
where mandt = sy-mandt and matnr = '000000000001991143' and vkorg = '0101' and vtweg = '01'.
enddo.
get run time field time2.
time_diff = time2 - time1.
write: / 'SELECT TIME:', time_diff.
Меня интерисует что будет с временем выполнения данной программки
если в табличке mvke будет несколько сотен миллиардов строк. Время выполнения тоже будет примерно 21 секунда? И есть ли какая-то формула по-которой можно вычислить время запроса в зависимости от числа записей в табличке БД(считывание происходит по первичному ключу)?