为了不重复解析相同的SQL语句,在第一次解析之后, ORACLE将SQL语句存放在内存中.这块位于系统全局区域SGA(system global area)的共享池(shared buffer pool)中的内存可以被所有的数据库用户共享. 因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同, ORACLE就能很快获得已经被解析的语句以及最好的执行路径. ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用.可惜的是ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询. 数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了. 当你向ORACLE 提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句. 这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须 完全相同(包括空格,换行等).
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并.
如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
分享到:
相关推荐
Oracle优化Oracle优化Oracle优化Oracle优化Oracle优化Oracle优化
基于成本的oracle优化法则中文版 基于成本的oracle优化法则中文版
基于成本的Oracle优化法则,作者:刘易斯, ★数据库领域的超级畅销书,世界级Oracle 大师Jonathan Lewis的最新力作! ★荣获2006年年度Oracle杂志编辑选择大奖!
《Oracle优化日记:一个金牌DBA的故事》是一本介绍Oracle数据库优化方法的书,以一个实际的大型优化项目为原型,用日记的形式记录了一个优化小组的DBA 如何从纷繁的头绪中找到突破口,进而完成了一个看似不可能完成...
Oracle优化常用概念.pptx
资源名称:基于成本的Oracle优化法则内容简介:数据库领域的超级畅销书,世界级Oracle大师Jonathan Lewis的最新力作,也是近几年来Oracle领域最重要的著作之一,荣获2006年年度Oracle杂志编辑选择大奖。自该书出版...
Oracle优化原则整理,里面主要是整理了一些写Oracle SQL 基本的优化方式~~
ORACLE优化的设计方案,前辈dba经验的总结。
基于成本的oracle优化法则 中文 oracle 优化法则
Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。
oracle优化建议34条,只要是针对索引的建议,值得一观
oracle 优化重量级指南 专家讲座
常用的oracle优化方法,希望对大家有帮助
基于成本的oracle优化法则,一本很不错的书,全部章节,573页码,不缺失! 就oracle优化学习特别好的一本书,oracle精华书籍。
优化笔记 sql性能的调整-总结 SQL代码性能优化 Oracle语句优化53个规则详解 ORACLE9i优化设计与系统调整 oracle9i优化器介绍 oracle9i的查询优化 ……
Oracle优化日记-一个金牌dba的故事
Oracle优化器介绍(精简完善版).doc
Oracle优化器案例与原理分析(盖国强),不错的oracle资料。
oracle优化工具 盖国强 oracle优化工具 盖国强 经典
基本成本的Oracle优化法则源代码.rar