动态网站制作指南 [  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的Archive Log模式下的恢复.
.bootdisk 磁片可以当作系统急救磁.
.Oracle在DOS下的启动.
.监控ORACLE数据库性能.
.Oracle数据库的常用函数列表快速.
.TestKing Oracle 1Z0-501 Edt1.1.
.redflag认证系统管理部分笔记.
.关于oracle的备份策略.
.RedHat AS4 下安装oracle10g.
.快速失败转移(Fast Failover)详.
.对即将上线的Oracle10g ASM生产数.
.ORACLE要点综述(之一:基本SELEC.
.浅析Oracle和SqlServer存储过程的.
.使用一条SQL语句删除表中重复记录.
.开机、关机、线上求助与指令下达.
.Oracle中使用自治事务保存日志表.
.如何利用QCTO开发可重复使用的测.
.获得SQL表述式的详细信息.
.ORACLE在HP-UX下的系列问题处理(.
.ORACLE SQL性能优化系列(四).

在Oracle里加快SQL执行的三种方法

发表日期:2008-2-9 |



  Oracle提供了多种方法用于减少花在剖析Oracle SQL表达式上的时间,在执行带有大量执行计划的复杂查询时剖析过程会拖累系统的性能。现在我们来简要地看看这些方法中的几种。
  
  
  使用ordered提示
  
  
  
  Oracle必须花费大量的时间来剖析多表格的合并,用以确定表格合并的最佳顺序。假如SQL表达式涉及七个乃至更多的表格合并,那么有时就会需要超过30分钟的时间来剖析,因为Oracle必须评估表格合并所有可能的顺序。八个表格就会有40,000多种顺序。Ordered这个提示(hint)和其他的提示一起使用能够产生合适的合并顺序。
  
  Ordered这个提示会要求列在SQL表达式FROM字句里的表格按照指定的顺序进行合并,FROM字句里的第一个表格会指定驱动表格(driving table)。驱动表格应该是返回最小行数的表格。使用ordered提示会跳过非常耗时和耗资源的剖析操作,并加快Oracle SQL的执行。
  
  Listing A如下:
  Listing A
  
  
  select /*+ ordered use_nl(bonus) parallel(e, 4) */ e.ename, hiredate, b.comm from emp e, bonus b where e.ename = b.ename ;
  
  Listing A里是一个复杂查询的例子,这个查询被强制进行一个嵌套循环,从而与对emp表格进行的并行查询合并。要注重,我已经使用ordered提示来引导Oracle去按照WHERE子句所列出的顺序来评估表格。
  
  
  
  使用theordered_predicates
  
  ordered_predicates提示在查询的WHERE子句里指定的,并被用来指定布尔判定(Boolean predicate)被评估的顺序。在没有ordered_predicates的情况下,Oracle会使用下面这些步骤来评估SQL判定的顺序:
  
  子查询的评估先于外层WHERE子句里的Boolean条件。
  所有没有内置函数或者子查询的布尔条件都按照其在WHERE子句里相反的顺序进行评估,即最后一条判定最先被评估。
  每个判定都带有内置函数的布尔判定都依据其预计的评估值按递增排列。
  你可以使用ordered_predicates提示来强制取代这些缺省的评估规则,那么你WHERE子句里的项目就会按照其在查询里出现的顺序被评估。在查询的WHERE子句里使用了PL/SQL函数的情况下,通常会使用ordered_predicates提示。假如你知道限制最多的判定并且希望Oracle最先评估这些判定的时候,在这种情况下,它也是非常有用的。
  
  
  
  用法提示:
  你不能使用ordered_predicates提示来保存对索引键进行判定评估的顺序。
  
  
  
  限制表格合并评估的数量
  
  提高SQL剖析性能的最后一种方法是强制取代Oracle的一个参数,这个参数控制着在评估一个查询的时候,基于消耗的优化器所评估的可能合并数量。optimizer_search_limit这个参数会指定表格合并组合的最大数量,后者将会在Oracle试图确定合并多表格最佳方式的时候被评估。这个参数有助于防止优化器花更多的时间来评估可能的合并顺序,而不是把时间花在寻找最佳合并顺序上。optimizer_search_limit还控制着用于调用star join提示的阙值,当查询里的表格数量低于optimizer_search_limit(其缺省的值是5)的时候,star提示就会被光顾。
  
  
  
  关于优化器参数的更多信息
  要获得更多关于用于复杂查询最大性能调试的Oracle优化器的信息,见 《使用智能优化器极限提高Oracle的性能》 。
  
  
  
  以上只是一些Oracle DBA用来优化Oracle数据库应用程序SQL查询的性能的一些小技巧。
上一篇:在ADO.NET中使用Oracle存储程序 人气:394
下一篇:关系型数据库:定义数据库表格之间的关系 人气:526
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号