binary_integer
и pls_integer
оба одинаковы. Оба типа данных PL / SQL имеют диапазон значений от -2 147 648 467 до 2 147 648 467.
По сравнению с integer
и binary_integer
pls_integer
очень быстро в извинении. Потому что pls_intger
работает на машинной арифметике, а binary_integer
работает на библиотечной арифметике.
pls_integer
происходит от oracle10g.
binary_integer
позволяет индексировать целые числа для ассоциативных массивов до oracle9i.
Четкий пример:
SET TIMING ON
declare
num integer := 0;
incr integer := 1;
limit integer := 100000000;
begin
while num < limit loop
num := num + incr;
end loop;
end;
PL/SQL procedure successfully completed.
Elapsed: 00:00:20.23
ex:2
declare
num binary_integer := 0;
incr binary_integer := 1;
limit binary_integer := 100000000;
begin
while num < limit loop
num := num + incr;
end loop;
end;
/
PL/SQL procedure successfully completed.
Elapsed: 00:00:05.81
ex:3
declare
num pls_integer := 0;
incr pls_integer := 1;
limit pls_integer := 100000000;
begin
while num < limit loop
num := num + incr;
end loop;
end;
/