[20181109]12c sqlplus rowprefetch参数5.txt --//这几天一直在探究设置sqlplus参数rowprefetch与arraysize的关系,有必要做一些总结以及一些小更正: 1.设置rowprefetch < arraysize 的情况最佳,因为这样fetch的模式是 rowprefetch,arraysize,arraysize,,...,剩下的记录. --//比较符合需要的情况. 2.不建议设置rowprefetch >= arraysize的情况.因为这样改变fetch的模式. rowprefetch,(floor(rowprefetch/arraysize)+1)*arraysize,(floor(rowprefetch/arraysize)+1)*arraysize,...,剩下的记录. 3.补充一点做1点点小小的更正. --//计算公式不是ceil(rowprefetch/arraysize)*arraysize,而是(floor(rowprefetch/arraysize)+1)*arraysize. --//这样对于rowprefetch < arraysize该公式也适用. 4.补充例子说明: --//测试 rowprefetch = arraysize的情况 SCOTT@78> @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 --//数据库11.2.0.4.但是我使用12c sqlplus做为客户端,rowprefetch参数可以设置,测试一样有效. SCOTT@78>create table t as select rownum id1,1 id2 from dual connect by level<=23; Table created. grant EXECUTE ON dbms_lock to scott; CREATE OR REPLACE FUNCTION SCOTT.sleep (seconds IN NUMBER) RETURN NUMBER AS BEGIN sys.DBMS_LOCK.sleep (seconds); RETURN seconds; END; / R:> cat aa.txt set timing on set arraysize &1 set rowprefetch &2 alter session set events '10046 trace name context forever, level 12'; select rownum ,t.*,sleep(id2) n10,&&1 arraysize ,&&2 rowprefetch from t; --select rownum ,emp.*,get_dept(deptno) c10,&&1 arraysize ,&&2 rowprefetch from emp; alter session set events '10046 trace name context off'; set timing off --//执行脚本时,第1个参数表示arraysize,第2个参数表示rowprefetch. SCOTT@78> @ aa.txt 5 5 Session altered. $ grep FETCH /u01/app/oracle/diag/rdbms/book/book/trace/book_ora_22631.trc | grep plh=2402761124 FETCH #140395096751240:c=0,e=5005000,p=0,cr=3,cu=0,mis=0,r=5,dep=0,og=1,plh=2402761124,tim=1541729295424586 FETCH #140395096751240:c=2000,e=10010448,p=0,cr=1,cu=0,mis=0,r=10,dep=0,og=1,plh=2402761124,tim=1541729305494803 FETCH #140395096751240:c=1000,e=8007876,p=0,cr=1,cu=0,mis=0,r=8,dep=0,og=1,plh=2402761124,tim=1541729313586610 --//fetch 5,10,8. 而显示行数5,10,8. --//也就是rowprefetch=arraysize,第2次fetch是 2*arraysize. --//这样上面的公式也满足要求.(floor(rowprefetch/arraysize)+1)*arraysize
[20181109]12c sqlplus rowprefetch参数5.txt
来源:这里教程网
时间:2026-03-03 12:12:55
作者:
编辑推荐:
- [20181109]12c sqlplus rowprefetch参数5.txt03-03
- word中如何编辑目录的两种方法03-03
- 在word中画虚线的教程03-03
- [20181109]12cR2 的pre_page_sga参数.txt03-03
- 删除wordpress主题的教程03-03
- word中如何加入水印的两种方法03-03
- 查看和修改awr报告保留时间03-03
- word中的脚注怎么删除的两种方法03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- HanLP用户自定义词典源码分析
HanLP用户自定义词典源码分析
26-03-03 - orecle分析函数
orecle分析函数
26-03-03 - Windows下用命令行工具ADRCI跟踪日志文件
Windows下用命令行工具ADRCI跟踪日志文件
26-03-03 - word空白页无法删除这么办
word空白页无法删除这么办
26-03-03 - 跨平台级联dataguard配置
跨平台级联dataguard配置
26-03-03 - informatic
informatic
26-03-03 - ORACLE 递归算法
ORACLE 递归算法
26-03-03 - ORACLE JOB
ORACLE JOB
26-03-03 - SQL优化案例-使用with as优化Subquery Unnesting(七)
- ORACLE数据库备份
ORACLE数据库备份
26-03-03
