View difference between Paste ID: XqBHrrTQ and eVeDrUC7
SHOW: | | - or go back to the newest paste.
1
create or replace
2-
procedure num_test_as_integer is
2+
procedure num_test_as_pls is
3-
  x integer;
3+
  x pls_integer;
4
  t number := dbms_utility.get_time;
5
begin
6
  for i in 1..10000000 loop
7-
   x := i;
7+
    x:=i;
8
  end loop;
9-
dbms_output.put_line((dbms_utility.get_time-t)||'cs');
9+
  dbms_output.put_line((dbms_utility.get_time-t)||'cs');
10
end;
11-
-------------------------------------------
11+
------------------------------------------------------------------------
12
Procedure created.
13-
SQL> exec num_test_as_integer
13+
Если эта процедура работает быстрее предыдущей, есть большая вероятность, что
14-
500cs (среднее значение 5 выполнений)
14+
переменная-счетчик цикла фактически имеет тип PLS_INTEGER:
15
SQL> exec num_test_as_pls
16
319cs (рабочее значение 5 выполнений)