知识大全 在PB中调用外部函数[1]
Posted 索引
篇首语:落花踏尽游何处,笑入胡姬酒肆中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在PB中调用外部函数[1]相关的知识,希望对你有一定的参考价值。
在PB中调用外部函数[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ORACLE数据库的PL/SQL语句执行的优化器 有基于代价的优化器(CBO)和基于规则的优化器(RBO)
RBO的优化方式 依赖于一套严格的语法规则 只要按照规则写出的语句 不管数据表和索引的内容是否发生变化 不会影响PL/SQL语句的 执行计划
CBO自ORACLE 版被引入 ORACLE自 版以来采用的许多新技术都是只基于CBO的 如星型连接排列查询 哈希连接查询 反向索引 索引表 分区表和并行查询等 CBO计算各种可能 执行计划 的 代价 即cost 从中选用cost最低的方案 作为实际运行方案 各 执行计划 的cost的计算根据 依赖于数据表中数据的统计分布 ORACLE数据库本身对该统计分布是不清楚的 须要分析表和相关的索引 才能搜集到CBO所需的数据
CBO是ORACLE推荐使用的优化方式 要想使用好CBO 使SQL语句发挥最大效能 必须保证统计数据的及时性
统计信息的生成可以有完全计算法和抽样估算法
SQL例句如下
完全计算法 analyze table abc pute statistics;
抽样估算法(抽样 %) analyze table abc estimate statistics sample percent;
对表作完全计算所花的时间相当于做全表扫描 抽样估算法由于采用抽样 比完全计算法的生成统计速度要快 如果不是要求要有精确数据的话 尽量采用抽样分析法 建议对表分析采用抽样估算 对索引分析可以采用完全计算
我们可以采用以下两种方法 对数据库的表和索引及簇表定期分析生成统计信息 保证应用的正常性能
在系统设置定时任务 执行分析脚本
在数据库服务器端 我们以UNIX用户oracle 运行脚本analyze 在analyze中 我们生成待执行sql脚本 并运行 (假设我们要分析scott用户下的所有表和索引)
Analyze脚本内容如下
sqlplus scott/tiger 《 EOF
set pagesize
set heading off
SPOOL ANALYTAB SQL
SELECT ANALYZE TABLE SCOTT ||TABLE_NAME|| ESTIMATE STATISTICS SAMPLE PERCENT ; FROM USER_TABLES;
SPOOL OFF
SPOOL ANALYIND SQL
SELECT ANALYZE TABLE SCOTT ||TABLE_NAME|| ESTIMATE STATISTICS SAMPLE PERCENT FOR ALL INDEXES; FROM USER_TABLES;
SPOOL OFF
SPOOL ANALYZE LOG
@ANALYTAB SQL
@ANALYIND SQL
SPOOL OFF
EXIT
在UNIX平台上crontab加入 以上文件 设置为每个月或合适的时间段运行
利用ORACLE提供的程序包(PACKAGE)对相关的数据库对象进行分析
有以下的程序包可以对表 索引 簇表进行分析
包中的存储过程的相关参数解释如下
TYPE可以是 TABLE INDEX CLUSTER中其一
SCHEMA为 TABLE INDEX CLUSTER的所有者 NULL为当前用户
NAME为 相关对象的名称
METHOD是 ESTIMATE PUTE DELETE中其一 当选用ESTIMATE
下面两项 ESTIMATE_ROWS和ESTIMATE_PERCENT不能同时为空值
ESTIMATE_ROWS是 估算的抽样行数
ESTIMATE_PERCENT是 估算的抽样百分比
METHOD_OPT是 有以下选项
FOR TABLE /*只统计表*/
[FOR ALL [INDEXED] COLUMNS] [SIZE N] /*只统计有索引的表列*/
FOR ALL INDEXES /*只分析统计相关索引*/
PARTNAME是 指定要分析的分区名称
)
DBMS_DDL ANALYZE_OBJECT(
TYPE VARCHAR
SCHEMA VARCHAR
NAME VARCHAR
METHOD VARCHAR
ESTIMATE_ROWS NUMBER DEFAULT NULL
ESTIMATE_PERCENT NUMBER DEFAULT NULL
METHOD_OPT VARCHAR DEFAULT NULL
PARTNAME VARCHAR DEFAULT NULL ) ;
该存储过程可对特定的表 索引和簇表进行分析
cha138/Article/program/PB/201311/24615相关参考
在PB中调用外部程序并判断其运行结束 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 您正在看的P
VB动态调用外部函数的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! VB可以用Declar
在Java程序中调用Matlab函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
在Java中调用Oracle的过程和函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 内容或简
在C#中动态调用nativedll的导出函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在C
知识大全 如何在Delphi中调用.Net编写的DLL中的函数
如何在Delphi中调用.Net编写的DLL中的函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 javascript中iframe里面的页面调用父窗口js函数的方法
实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法 比如有A窗口A内有个IFRAMEBB里面的装载的是C页面这时C要直接调用A里面的一个自定义函数ExpandPage();
工作流引擎Shark中调用外部程序的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近看了
现有某函数与对象如下: vardoubling=function(x)returnx*;;varobj=val:;函数调用模式时this被绑定到全局对象这种情况在对象的属性与方法被初始化时也能够
iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上windowpraent就可以了比如调用a()函数就写成 windowparenta(); 子页面取父页面中的标签中的值比