[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的更多相关文章

  1. [20181108]12c sqlplus rowfetch参数4.txt

    [20181108]12c sqlplus rowfetch参数4.txt --//12cR2 可以改变缺省rowfetch参数.11g之前缺省是1.通过一些测试说明问题.--//前几天做的测试有点乱 ...

  2. [20181109]12cR2 的pre_page_sga参数

    [20181109]12cR2 的pre_page_sga参数.txt --//12CR2改变了参数pre_page_sga设置为True.设置为true有好处也有缺点.--//先看看官方的定义:ht ...

  3. oracle之 sqlplus prelim 参数介绍 ( 处理hang )

    从Oracle10g开始,sqlplus提供了一个参数选项-prelim,用这个参数,在系统已经hang的时候.我们可以连接到SGA而不是数据库,也就是说没有session被创建. 一. 通过以下步骤 ...

  4. Oracle sqlplus prelim 参数介绍

    SQL>conn / as sysdba ORA-00020: maximum number of processes (xxxx) exceeded 报错解决方法 解决 ORA-00020 错 ...

  5. 关于12C中optimizer_adaptive_features参数介绍

    optimizer_adaptive_features参数在OLAP数据仓库环境中可以获得较好的效果,实际在重上传轻查询的OLTP系统上,可以关闭这项新功能. 其主要功能是为了在语句执行过程中实时收集 ...

  6. 如何实现批处理文件传参数给SQLPLUS

    原文地址:http://www.cnblogs.com/HondaHsu/archive/2012/11/23/2784094.html 第一:批处理文件drop_table.bat 说明: 批处理中 ...

  7. Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)

    说明:版本12.2.0.1 12c r1版本中 clone 一份PDB源库需要打开在read only只读模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/wr ...

  8. sqlplus 配置方法及相关命令

    sqlplus 配置方法及相关命令 1.配置文件 1.1 全局模式什么叫全局模式呢:当我们配置完sqlplus工具加载配置文件后,无论在哪个目录下登陆数据库,您设置[sqlplus提示符样子,在任何目 ...

  9. Oracle sqlplus失去响应解决方法/如何在数据库失去响应时转储状态信息(转)

    某云平台出现故障,sqlplus连接Oracle数据库,发现没有响应.数据库版本:12.1.0.2.0 查找.借鉴前人经验,成功处理此问题,参考网址:如何在数据库失去响应时转储状态信息 - Oracl ...

随机推荐

  1. 关于tensorflow conv2d卷积备忘的一点理解

    **************input************** [[[[-0.36166722  0.04847232  1.20818889 -0.1794038  -0.53244466] [ ...

  2. linux命令-awk入门

    最近经常查看nginx日志,有时候需要做一些统计分析,于是就想起了awk,学习了就顺便做一个记录. 目录 概述:简单介绍awk背景原理 基本用法:常用到的awk语法 内建变量 综合实例 概述 awk是 ...

  3. WebBrowser使用例子

    本文参考了:http://www.cnblogs.com/txw1958/archive/2012/09/24/CSharp-WebBrowser.html 在上文的基础上加入了 一些处理弹出对话框的 ...

  4. 【原创】驱动加载之CreateService

    SC_HANDLE WINAPI CreateService( _In_ SC_HANDLE hSCManager, _In_ LPCTSTR lpServiceName, _In_opt_ LPCT ...

  5. 阿里AI设计师一秒出图,小撒连连惊呼,真相是...

    近期,央视<机智过人>的舞台上来了位“三超设计师”——设计能力超强:出图能力超快:抗压能力超强,成功迷惑嘉宾和现场观众,更让撒贝宁出错三连. 节目一开场,这位“设计师”就为现场嘉宾:主持人 ...

  6. Redis基础知识补充及持久化、备份介绍(二)--技术流ken

    Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...

  7. vmware vcsa-6.5 网络架构之虚拟机的分布式交换机

    一.配置VDS 必须来用vcenter server来配置 下面一些理论是抄的王老师的,供大家学习,主意在于学习技术,分享知识. 1.VDS架构图如下: 2.架构图里面有两个逻辑层,数据面板,管理面板 ...

  8. springMVC中的注解@RequestParam与@PathVariable的区别

    1.@PathVariable @PathVariable绑定URI模板变量值 @PathVariable是用来获得请求url中的动态参数的 @PathVariable用于将请求URL中的模板变量映射 ...

  9. 【golang-GUI开发】Qt5的安装

    golang一直被认为没有好的GUI库,事实并非如此. 目前有基于gtk+3.0的gotk3:https://github.com/gotk3/gotk3 以及接下来我们要说的qt:https://g ...

  10. Avos Cloud 的 ParseObject的创建与数据存储检索

    创建/存储数据: ParseObject gameScore = new ParseObject("GameScore"); gameScore.put("score&q ...