ITPub博客

首页 > 数据库 > Oracle > PLS_INTEGER类型对性能的些许奉献

PLS_INTEGER类型对性能的些许奉献

原创 Oracle 作者:幕南风 时间:2014-07-03 13:43:57 0 删除 编辑
       如果用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


<!-- Baidu Button BEGIN -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207963/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 显示游标的使用详解
下一篇: SELECT INTO 技巧:0 & 1问题
请登录后发表评论 登录
全部评论
腾讯数据库工程师

注册时间:2012-05-10

最新文章