ORACLE优化(一)
一、优化:
优化是选择最有效的执行计划来执行SQL语句的过程
二、ORACLE的优化器:
优化器有时也被成为查询优化器
原因:查询是影响数据库性能的最主要的部分
查询:并不只是指SELECT语句,带有WEHER条件的DML(INSERT、UPDATE、DELETE)也都属于查询语句。
三、优化器模式:(3种)
1、RULE(基于规则):(Rule Based Optimization)简称RBO ,(ORACLE 7之前)
2、COST(基于成本):(Cost Based Optimization)简称CBO
3、CHOOSE(选择性):
缺省情况下,oracle采用CHOOSE优化器,为了避免那些不必要的全表扫描,必须避免使用CHOOSE选择器,而直接采用基于规则或者基于成本的优化器
四、访问Table的方式:(2种)
(1)全表扫描:顺序的访问表中的每一条记录
(2)索引扫描:采用基于ROWID的访问方式,提高访问表的效率,ROWID包含了表中记录的物理位置信息
索引有两种访问模式:
(1)索引唯一扫描:(INDEX UNIQUE SCAN):(例:唯一性索引:index_pk)
(2)索引范围查询:(INDEX RANGE SCAN):(分为如下两种)
1、基于范围的检索: (例:like 'M%';)
2、基于非唯一性索引的检索:(例:非唯一性索引:IDX_MANAGER)
特别:where子句中,如果索引列中所对应值的第一个字符由通配符开始,索引将不被采用,此时,oracle将采用全表扫描。(例:like '%hello' ;)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29667072/viewspace-1248534/
,如需转载,请注明出处,否则将追究法律责任。