ORACLE SQL功能优化系列(一)

  来源:网海拾贝




1. 选用恰当的ORACLE优化器

   ORACLE的优化器共有3种:

   a.  RULE (基于划定规则)   b. COST (基于本钱)  c. CHOOSE (选择性)

   设置缺省的优化器,可以议决对init.ora文件中OPTIMIZER_MODE参数的各类声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其举行掩饰.

   为了运用基于本钱的优化器(CBO, Cost-Based Optimizer) , 你必须常常运转analyze 饬令,以添加数据库中的东西统计信息(object statistics)的准确性.

   要是数据库的优化器形式设置为选择性(CHOOSE),那么实践的优化器形式将和能否运转过analyze饬令有关. 要是table已经被analyze过, 优化器形式将自动成为CBO , 反之,数据库将接纳RULE情势的优化器.

   在缺省景象下,ORACLE接纳CHOOSE优化器, 为了按捺那些不必要的全表扫描(full table scan) , 你必须只管按捺运用CHOOSE优化器,而直接接纳基于划定规则或许基于本钱的优化器.


2.     拜候Table的方法


ORACLE 接纳两种拜候表中纪录的方法:

a.     全表扫描

       全表扫描便是顺序地拜候表中每条纪录. ORACLE接纳一次读入多个数据块(database block)的方法优化全表扫描.

b.     议决ROWID拜候表


       你可以接纳基于ROWID的拜候方法景象,提高拜候表的苦守, , ROWID包含了表中纪录的物理位信赖息..ORACLE接纳索引(INDEX)完成了数据和寄存数据的物理职位(ROWID)之间的联系. 往常索引提供了疾速拜候ROWID的措施,是以那些基于索引列的盘问就可以获得功能上的提高.




版权声明: 原创作品,允许转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。不然将穷究功令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976080.html