动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.关于Oracle开放Toplink全部源码.
.开机自动启动oracle和weblogic.
.DELPHI 调用 Oracle 存储过程并返.
.如何彻底删除oracle.
.Oracle数据复制技术有效解决数据.
.Actualtests Oracle 1Z0-007 V04.
.Oracle诊断案例-Job任务停止执行.
.SERVER数据转换ORACLE问题.
.Debian Sarge 上安装 Oracle 10g.
.Oracle9i的全文检索技术.
.postfix出现错误“fatal: open d.
.系统设定常用指令(1).
.Oracle9i,如何监视索引并清除监视.
.CLR自定义类型存储业务对象.
.全面讲解归档可用的缓冲大小和数.
.应对RMAN-06026错误,使用dbms_b.
.oracle基本概念的学习笔记.
.企业级N Tier体系结构解决方案讨.
.嵌入式 Linux 系统图形及图形用户.
.基于Oracle Spatial的时态空间数.

Oracle10g中新的SQLoptimizerhints

发表日期:2008-2-9 |



  Oracle使用的hints调整机制一直很复杂,Oracle Technical Network对使用hints调整Oracle SQL的过程有很好的全面评述。根据对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 ) */
  
  no_index_ss
  此hint使CBO拒绝对指定表格的指定标签进行skip scan。
  
  Syntax: /*+ NO_INDEX_SS (tablespecindexspec ) */
  
  no_star_transformation
  此hint使CBO忽略star 询问信息。
  
  Syntax: /*+ NO_STAR_TRANSFORMATION */
  
  index_ss
  此hint明确地为指定表格选择index skip scan。假如语句使用index range scan,Oracle将以对其索引值的升序排列来检查索引入口。在被分割的索引中,其结果为对每个部分内部的升序排列。
  
  Syntax: /*+ INDEX_SS (tablespecindexspec) */
  
  index_ss_asc
  此hint明确地为指定表格选择index skip scan。假如语句使用index range scan,Oracle将以对其索引值的升序排列来检查索引入口。在被分割的索引中,其结果为对每个部分内部的升序排列。
  
  Syntax: /*+ INDEX_SS_ASC (tablespecindexspec) */
  
  index_ss_desc
  此hint明确为指定表格选择index skip scan。假如语句使用index range scan,Oracle将以对其索引值的降序排列来检查索引入口。在被分割的索引中,其结果为对每个部分内部的降序排列。

  
  Syntax: /*+ INDEX_SS_DESC (tablespecindexspec) */
  
  cpu_costing
  此hint为SQL语句打开CPU costing。这是对优化器的默认评估模式。优化器评估当执行给定查询时,数据库需要运行的IO操作数、IO操作种类、以及CPU周期数。
  
  Syntax: /*+ CPU_COSTING (tablespecindexspec) */
  
  no_cpu_costing
  此hint为SQL语句关闭CPU costing。然后CBO使用IO cost模式,此模式忽略CPU花费,仅测量在single-block reads中的所有指标。
  
  Syntax: /*+ NO_CPU_COSTING */
  
  随着Oracle优化器越来越成熟,Oracle专家必须不断增加自己对调整SQL语句的工具储备。当然,讨论所有复杂的Oracle10g SQL新hints远远超出了本文的范围,你可以从Mike Ault的新书Oracle Database 10g New Features中获得关于Oracle10g的更多信息。
上一篇:一句T-SQL语句引发的思考 转帖 人气:547
下一篇:SQLPlus命令使用指南 人气:662
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-13 爬爬思特新闻管理系统 v2.0 Beta1
2008-10-13 Pligg v9.9.5 Beta
2008-10-13 广优邮件发送系统 v2.1
2008-10-13 缤纷互动视频交友 v3.1 RC
2008-10-13 MyShop网络商城 build 081005
2008-10-13 Chyrp 超轻量级开源博客引擎 v2.
2008-10-13 162100静态(论坛/文章)系统 v2.4
2008-10-13 金博人才招聘求职网黄金版 v4.2
2008-10-13 愚人笔记 v4.0
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成