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 выполнений) |