ITPub博客

首页 > 数据库 > Oracle > [20220708]PLSQL – choosing the BEST data type.txt

[20220708]PLSQL – choosing the BEST data type.txt

Oracle 作者:lfree 时间:2022-07-18 08:53:21 0 删除 编辑

[20220708]PLSQL – choosing the BEST data type.txt

https://connor-mcdonald.com/2022/07/08/pl-sql-choosing-the-best-data-type/

--//重复测试:

1.环境:
SCOTT@book> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.测试脚本:

$ cat ppp.txt
create or replace procedure ppp is
  x &&1 := 0;
begin
  for i in  1 .. 100000000 loop
     x := x + 1;
  end loop;
end;
/

$ cat ttt.txt
set timing  off
@ppp.txt &&1
set timing  on
exec ppp
exec ppp
exec ppp
quit

3.测试:
$ echo number pls_integer  integer binary_integer simple_integer | tr ' ' '\n' | xargs -IQ bash -c  "echo Q Q ;sqlplus -s -l scott/book @ttt.txt Q" | egrep "er|Elapsed"
number number
Elapsed: 00:00:03.88
Elapsed: 00:00:04.36
Elapsed: 00:00:04.35
pls_integer pls_integer
Elapsed: 00:00:01.76
Elapsed: 00:00:01.46
Elapsed: 00:00:01.45
integer integer
Elapsed: 00:00:06.40
Elapsed: 00:00:06.16
Elapsed: 00:00:06.17
binary_integer binary_integer
Elapsed: 00:00:01.48
Elapsed: 00:00:01.42
Elapsed: 00:00:01.43
simple_integer simple_integer
Elapsed: 00:00:01.55
Elapsed: 00:00:01.25
Elapsed: 00:00:01.25

$ echo number pls_integer  integer binary_integer simple_integer | tr ' ' '\n' | xargs -IQ bash -c  "echo Q Q ;sqlplus -s -l scott/book @ttt.txt Q" | egrep "er|Elapsed"| awk '{print $2}'| paste -d"\t" - - - -
number  00:00:03.68     00:00:03.41     00:00:03.40
pls_integer     00:00:01.75     00:00:01.46     00:00:01.45
integer 00:00:06.81     00:00:06.59     00:00:06.58
binary_integer  00:00:01.73     00:00:01.43     00:00:01.42
simple_integer  00:00:01.49     00:00:01.26     00:00:01.25

--//作者的测试如下:
number pls_integer  integer binary_integer simple_integer
  1.74       00.57   03.72  00.58          0.56

--//可以看出simple_integer,pls_integer,binary_integer快一些。number,integer最慢。
--//具体说明参考链接https://connor-mcdonald.com/2022/07/08/pl-sql-choosing-the-best-data-type/

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

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969285