网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  使用新的optimizer hints控制优化行为 (1)     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:78次  录入:管理员--2008-03-05  
 

在oracle 10g中:我们可以使用更多新的optimizer hints来控制优化行为。现在让我们快速的了解一下这些强大的新hints:

spread_min_analysis

使用这一hint,你可以忽略一些关于如详细的关系依赖图分析等电子表格的编译时间优化规则。其他的一些优化,如创建过滤以有选择性的定位电子表格访问结构并限制修订规则等,得到了继续使用。

由于在规则数非常大的情况下,电子表格分析会很长。这一提示可以帮助我们减少由此产生的数以百小时计的编译时间。

例:

select /*+ spread_min_analysis */ ...

spread_no_analysis

通过这一hint,可以使无电子表格分析成为可能。同样,使用这一hint可以忽略修订规则和过滤产生。如果存在一电子表格分析,编译时间可以被减少到最低程度。

例:

select /*+ spread_no_analysis */ ...

use_nl_with_index

这项hint使cbo通过嵌套循环把特定的表格加入到另一原始行。只有在以下情况中,它才使用特定表格作为内部表格:如果没有指定标签,cbo必须可以使用一些标签,且这些标签至少有一个作为索引键值加入判断;反之,cbo必须能够使用至少有一个作为索引键值加入判断的标签。

例:

select /*+ use_nl_with_index (polrecpolrind) */ ...

cardinality

此hint定义了对由查询或查询部分返回的基数的评价。注意如果没有定义表格,基数是由整个查询所返回的总行数。

例:

select /*+ cardinality ( [tablespec] card ) */

selectivity

此hint定义了对查询或查询部分选择性的评价。如果只定义了一个表格,选择性是在所定义表格里满足所有单一表格判断的行部分。如果定义了一系列表格,选择性是指在合并以任何顺序满足所有可用判断的全部表格后,所得结果中的行部分。

例:

select /*+ selectivity ( [tablespec] sel ) */

然而,注意如果hints cardinality 和 selectivity都定义在同样的一批表格,二者都会被忽略。

no_use_nl

hint no_use_nl使cbo执行循环嵌套,通过把指定表格作为内部表格,把每个指定表格连接到另一原始行。通过这一hint,只有hash join和sort-merge joins会为指定表格所考虑。

例:

select /*+ no_use_nl ( employees ) */ ...

no_use_merge

此hint使cbo通过把指定表格作为内部表格的方式,拒绝sort-merge把每个指定表格加入到另一原始行。

例:

select /*+ no_use_merge ( employees dept ) */ ...

no_use_hash

此hint使cbo通过把指定表格作为内部表格的方式,拒绝hash joins把每个指定表格加入到另一原始行。

例:

select /*+ no_use_hash ( employees dept ) */ ...

no_index_ffs

此hint使cbo拒绝对指定表格的指定标签进行fast full-index scan。

syntax: /*+ no_index_ffs ( tablespecindexspec ) */

 
 
上一篇: 去掉数据库的初始化参数即可禁用xdb服务    下一篇: 实例讲解如何实现某种类型的分页功能
  相关文档
解析:MIS系统实例中Oracle的安全策略 09-01
调整oracle应用系统性能的原则和方法 (1) 01-25
Oracle数据库中独一无二的Cache对象 05-13
关于Oracle的虚拟专有数据库特性探讨 04-11
Oracle数据库较好的十种重新启动步骤 04-23
建库的过程中dbca报错,错误号为ora-12547 02-27
实例讲解oracle数据库无法启动的解决方法 01-28
教你快速掌握oracle数据库的备份策略 04-14
教你正确认识oracle数据库的结构组件 11-15
关于Oracle中执行计划稳定性深入研究 04-11
使用flashback query 恢复误删除的数据 11-15
oralce定时执行存储过程任务的设置步骤 03-03
12步教会Oracle DBA如何管理DB2 04-23
解析:ORACLE性能调整--统计信息的迁移 08-05
oracle数据库环境下数据文件丢失的恢复 07-25
调整Oracle应用系统性能的原则和方法 04-12
在oracle 10g中建立没有域名的db_link 03-21
使用_disable_logging即可禁止日志的生成 (1) 05-16
轻松掌握数据库及数据仓库的建模方法 03-04
用utl_inaddr包获取已经连接用户的ip地址 05-29
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息