[20150309]sqlplus set array最小2.txt

[20150309]sqlplus set array最小2.txt

--上午做测试发现1个问题,设置array=1是无效的,在sqlplus下set array最小是2.自己做一个人测试:

1.建立测试环境:
SCOTT@test> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

SCOTT@test> CREATE  TABLE tx AS SELECT ROWNUM c2 FROM DUAL CONNECT BY LEVEL Table created.

SCOTT@test> show array
arraysize 200

$ cat ax.sql
set term off
select * from t2;
set term on

--这样避免输出到屏幕。

2.开始测试:
SCOTT@test> show array
arraysize 200

SCOTT@test> alter session set statistics_level=all ;
Session altered.

SCOTT@test> @ax
SCOTT@test> @dpc '' ''
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID  741xfy549bxbz, child number 0
-------------------------------------
select * from t2
Plan hash value: 1513984157
--------------------------------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | A-Rows |   A-Time   | Buffers |
--------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |      1 |        |       |     2 (100)|          |    100 |00:00:00.01 |       3 |
|   1 |  TABLE ACCESS FULL| T2   |      1 |    100 |   300 |     2   (0)| 00:00:01 |    100 |00:00:00.01 |       3 |
--------------------------------------------------------------------------------------------------------------------
--array=200,逻辑读是3,块头读1次,第1条记录1次,剩下99条1次,共3个逻辑读。

3.array=2:

SCOTT@test> set array 2
SCOTT@test> @ax
SCOTT@test> @dpc '' ''
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID  741xfy549bxbz, child number 0
-------------------------------------
select * from t2

Plan hash value: 1513984157

--------------------------------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | A-Rows |   A-Time   | Buffers |
--------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |      1 |        |       |     2 (100)|          |    100 |00:00:00.01 |      52 |
|   1 |  TABLE ACCESS FULL| T2   |      1 |    100 |   300 |     2   (0)| 00:00:01 |    100 |00:00:00.01 |      52 |
--------------------------------------------------------------------------------------------------------------------
--array=2 ,逻辑读是52,块头读1次,第1条记录1次,剩下99条共50次,共52个逻辑读。

4.如果我设置array=1.
SCOTT@test> set array 1
SCOTT@test> @ax
SCOTT@test> @dpc '' ''
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID  741xfy549bxbz, child number 0
-------------------------------------
select * from t2
Plan hash value: 1513984157
--------------------------------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | A-Rows |   A-Time   | Buffers |
--------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |      1 |        |       |     2 (100)|          |    100 |00:00:00.01 |      52 |
|   1 |  TABLE ACCESS FULL| T2   |      1 |    100 |   300 |     2   (0)| 00:00:01 |    100 |00:00:00.01 |      52 |
--------------------------------------------------------------------------------------------------------------------

--可以发现array=1与array=2的逻辑读是一样的,也就是将设置这个参数array最小是2.

时间: 2024-08-28 14:31:46

[20150309]sqlplus set array最小2.txt的相关文章

[20170916]sqlplus set array最小2补充.txt

[20170916]sqlplus set array最小2补充.txt --//以前写的贴子,链接http://blog.itpub.net/267265/viewspace-1453652/ --//上面提到设置array=1或者array=2.执行sql语句输出的逻辑读是一样的,所以得到一个结论. --//set array最小是2. --//我也在http://blog.itpub.net/267265/viewspace-2138596/里面提到.fetch 与arraysize的关系

[20160806]sqlplus 1000行自动提交.txt

[20160806]sqlplus 1000行自动提交.txt --同事要求我提交的插入脚本要求1000行有1个提交. --当时我自己也没有多想,因为toad有一个功能可以直接实现这个功能. 结果集上点击右键选择=>'export dataset': export format 选择 insert statments commit interval 选择1000,这样生成的sql脚本就是每隔1000条记录有1个提交. --假如已经生成了脚本,如何修好呢?以scott.dept表为例来说明: SE

[20131121]12c sqlplus的set colinvisible on.txt

[20131121]12c sqlplus的set colinvisible on.txt 12c 加入invisible column,但是如果要查看表的隐含列,要查询一些视图.实际上在sqlplus执行set colinvisible on,在执行desc 做一个测试看看. @verBANNER                                                                               CON_ID---------------

[20120410] sqlplus中set termout off.txt

[20120410] sqlplus中set termout off.txt 今天测试使用set termout off,发现不起作用,并不能禁止输出.google,发现如下链接:http://www.itpub.net/thread-467880-1-1.html 实际上它仅仅能禁止@sql的输出,测试如下: SQL> show termouttermout ONSQL> select sysdate from dual ; SYSDATE-------------------2012-04

求助 ,关于ragged array,读取txt文件到listbox上

问题描述 刚学C#,实在是不清楚怎么弄的想了半天了,就是读取一个txt,这个txt有5行,第一行是AB9000.0089000.00第二行是CD232323.0023232.23第三行是DNSN29339.909第四行是BC92938.09928328.0342322.23232.323第5行也是类似的数字第一行第一个都是个string后面是double,我怎么才能把一个listbox列上string,然后点击这个string在第2个listbox里显示后面的double数字?提示说用ragee

[20120705]sqlplus 的column xxx noprint.txt

sqlplus中有时候某列很长,不想显示,一般使用column xxx format a10,限制输出的长度.实际上column 还可以加入参数noprint,使该行不显示,例子如下: SQL> help column  COLUMN  ------  Specifies display attributes for a given column, such as:      - text for the column heading      - alignment for the colum

sqlplus与空行.txt

sqlplus与空行.txt 开发人员交给一些sql脚本,要在服务器上运行,我检查一下,没有什么问题,在测试机器运行: 1* create table t(number(10)SP2-0734: unknown command beginning "b varchar2..." - rest of line ignored.SP2-0042: unknown command ")" - rest of line ignored.         打开脚本检查发现没有

网站常见漏洞解析:文件上传漏洞

任意文件上传漏洞 文件上传漏洞(File Upload Attack)是由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本. 一套web应用程序,一般都会提供文件上传的功能,方便来访者上传一些文件. 下面是一个简单的文件上传表单 <form action="upload.php" method="post&qu

oracle数据库开发的一些经验积累(一)

oracle|数据|数据库 1.不安装Oracle客户连接Oracle 8的方法请将以下文件拷贝到运行文件所在目录 一.ODBC动态库 : ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbccp32.dll odbccr32.dll odbcint.dll 二.建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下 EXTRA\MSVCRT.DLL 三.ORACLE动态库及配置文件 Tnsnames.or