论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Oracle>>正文

使用智能优化器提高Oracle的性能极限

www.xker.com 作者: 来源:net130 加入日期:2006-2-28 10:06:13

【问题提问、论坛交流】

  使用ordered提示指定连接顺序

  你能够设定优化器所执行的评估数目的上限但是即使采用有很高价值的排列评估,我们仍然拥有使优化器可以尽早地放弃复杂的查询的重要机会回想一下含有15个连接查询的例子,它将有超过1万亿种的连接组合如果优化器在评估了80,000个组合后停止,那么它才仅仅评估了0.000006%的可能组合,而且或许还没有为这个巨大的查询找到最佳的连接顺序

  在Oracle SQL中解决此问题的最好的方法是手工指定表的连接顺序为了尽快创建最小的解决方案集,这里所遵循的规则是将表结合起来,通常优先使用限制最严格的WHERE子句来连接表

  下面的代码是一个查询执行计划的例子,该例子在emp表的关联查询上强制执行了嵌套的循环连接注意,我已经使用了ordered提示来直接最优化表的评估顺序,最终它们表现在WHERE子句上

  select /*+ ordered use_nl(bonus) parallel(e, 4) */

  e.ename,

  hiredate,

  b.comm.

  from

  emp e,bonus b

  where

  e.ename = b.ename

  这个例子要求优化器按顺序连接在SQL语句的FROM子句中指定的表,在FROM子句中的第一个表指定了驱动表ordered提示通常被用来与其它的提示联合起来来保证采用正确的顺序连接多个表它的用途更多的是在扭转连接表数在四个以上的数据仓库的查询方面

  另外一个例子,下面的查询使用ordered提示按照指定的顺序来连接表:emp、dept、sal,最后是bonus我通过指定emp到dept使用哈希连接和sal到bonus使用嵌套循环连接,来进一步精炼执行计划

  select /*+ ordered use_hash (emp, dept) use_nl (sal, bonus) */

  from

  emp,

  dept,

  sal,

  bonus

  where . . .
  实践建议

  实际上,更有效率的做法是在产品环境中减小optimizer_max_permutations参数的大小,并且总是使用稳定的优化计划或存储轮廓来防止出现耗时的含有大量连接的查询一旦找到最佳的连接顺序,您就可以通过增加ordered提示到当前的查询中,并保存它的存储轮廓,来为这些表手工指定连接顺序,从而使其持久化

  当你打算使用优化器来稳定计划,则可以照下面的方法使执行计划持久化,临时将optimizer_search_limit设置为查询中的表的数目,从而允许优化器考虑所有可能的连接顺序然后,通过重新编排WHERE子句中表的名字,并使用ordered提示,与存储轮廓一起使变更持久化,来调整查询在查询中包含四个以上的表时,ordered提示和存储轮廓将排除耗时的评估SQL连接顺序解析的任务,从而提高查询的速度

  一旦检测到最佳的连接顺序,我们就可以使用ordered提示来重载optimizer_search_limit和optimizer_max_permutations参数ordered提示要求表按照它们出现在FROM子句中的顺序进行连接,所以优化器没有加入描述

  作为一个Oracle专业人员,你应该知道在SQL语句第一次进入库缓存时可能存在重大的启动延迟但是聪明的Oracle DBA和开发人员能够改变表的搜索限制参数或者使用ordered提示来手工指定表的连接顺序,从而显著地减少优化和执行新查询所需的时间

本新闻共3页,当前在第2页  1  2  3  

编辑:xker.com

上一篇:Oracle数据库游标使用大全
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
·Oracle数据库游标使用大全·Oracle9i中监视索引的使用·使用Oracle实现实时通信
·Oracle SQL 内置函数大全·Oracle实用技巧
推荐文章 最新文章 热门文章
·毕业论文范文
·毕业论文格式
·计算机毕业论文
·用VC获取本机IP地址列表的方法
·用KC 短信免费发 电话免费打
·Windows 2003服务器安全配置终极技巧
·巧用“隐身”浏览器与你老板打游击
·迁移临时文件夹 让系统性能全面提升
·轻松找回遗忘的网站论坛帐号密码
·SQLServer和Access、Excel数据传输简
·分析网页的几种加密技术
·读懂Windows“虚拟内存”问题
·ASP中调用存储过程、语法、写法-sql
·深入浅出VC++串口编程之DOS的串口编程
·ADSL Modem设置含义及功能全知道(四)
·使用智能优化器提高Oracle的性能极限
·察看FreeBSD日志信息
·FreeBSD下gd库的安装方法
·FreeBSD在安装ports时缩短下载时间
·配置Intel® i810显示芯片组在Fre
·FREEBSD升级及优化全攻略
·千千静听下载
·毕业论文范文
·毕业论文格式
·计算机毕业论文
·拒绝共享 保护自己电脑文件的安全
·QQ空间皮肤代码
·免费午餐 将图片放到国外免费空间上
·Css不朽的经典—3D文字特效
·别出心裁 巧妙使用输入法制作特殊字符
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·最经典的黑客入门教材
·求职简历封皮
·ACDSee v8.0注册码
·怎样查找对方的IP地址
·应届毕业生求职信
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: