Oracle_5_执行计划
执行计划是指一条查询语句的执行过程或访问路径。
一、Oracle的执行计划
使用PL/SQL第三方工具。
配置:
耗费:执行成本,理论:值越小越好。
基数:结果集行数。
字节:返回的字节数。
查看:
1、选中查询语句,使用快捷键F5。
2、如下图:
执行顺序:
缩进最多的先执行,同级的由上而下。
常见的访问表的方式:
1、全表扫描,table access full,需要读取每一行数据,效率较低。
2、通过rowid的表存取,table access by index rowid,rowid是存储了行数据的物理地址的自动生成维护的字段,通过rowid可快速定位。
3、索引扫描,table access by indexscan,索引中实际是键值对,值为rowid,先通过键值对找到rowid,再通过rowid快速定位。
唯一扫描,index unique scan,针对唯一索引的扫描,只返回一条数据的扫码。
范围扫码,index range scan,返回多条数据的扫码。
全扫描,index full scan,查询出的数据可以通过索引直接获取的。
快速扫码,index fast full scan,与全扫描类似,但是它不会对查询结果进行排序。
跳跃扫描,index skip scan。
Oracle中的优化器:
1、RBO优化器。
通过规定SQL的书写规则来保障执行计划。对数据不敏感,要求编写人员了解各项编写细则。
2、CBO优化器。
Oracle 10g开始替代RBO优化器,它通过计算各种可能的执行计划的“代价”,即COST(耗费),从中选择cost最低的执行方案执行。