欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

PL/SQL PLS_INTEGER类型对性能实验测试

程序员文章站 2024-02-03 09:06:28
...

如果用PLS_INTEGER值运算,Oracle会使用原生机器算法其他的所有数值型的数据类型都和NUMBER数据类型一样使用C语言算法库结果就是

如果用PLS_INTEGER值运算,,Oracle会使用原生机器算法

其他的所有数值型的数据类型都和NUMBER数据类型一样使用C语言算法库

结果就是PLS_INTEGER值的处理速度比NUMBER型的整数快很多

而且,PLS_INTEGER在移植硬件平台时不会遇到兼容性问题

对于密集型的整数运算,Think建议大家使用PLS_INTEGER

不过,如果频繁的PLS_INTEGER和NUMBER型的数据交互,还是建议一开始就使用NUMBER

如果对精度有要求,也请不要使用,因为PLS_INTEGER用于整数运算,结果会取整

小实验测试一下:

hr@ORCL> ed
Wrote file afiedt.buf

1 DECLARE
2 j PLS_INTEGER :=0;
3 BEGIN
4 FOR i IN 1..1000000
5 LOOP
6 j:=i+1;
7 IF j=1000
8 THEN
9 dbms_output.put_line('Hello Think');
10 END IF;
11 END LOOP;
12* END;
hr@ORCL> /
Hello Think

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.28
hr@ORCL> ed
Wrote file afiedt.buf

1 DECLARE
2 j NUMBER :=0;
3 BEGIN
4 FOR i IN 1..1000000
5 LOOP
6 j:=i+1;
7 IF j=1000
8 THEN
9 dbms_output.put_line('Hello Think');
10 END IF;
11 END LOOP;
12* END;
hr@ORCL> /
Hello Think

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.36

PL/SQL PLS_INTEGER类型对性能实验测试