浅谈ORACLE执行计划顺序
(2012-10-26 16:33:31)
标签:
杂谈 |
分类: 数据库 |
浅谈ORACLE执行计划顺序
最近在做一个并发4000个用户的项目,每个月的单表数据量在20多万,这样在开发报表的时候,如果不注意查询优化,查询时间一长或者语句的复杂度比较高的话,经常会查死为了看SQL是否达到查询的性能要求,所以必须学会通过看执行计划来分析SQL语句。当然,优化的途径有很多,从硬件到软件都有涉及,本文主要通过以下几个方面聊一下执行计划。文中内容大部分是上网看了N多大侠们的高论,找到自己需要的信息总结一下,以备查看。
1、执行计划中的几个关键词
Full Table
Scans
Table Access by
ROWID
index unique
scan
index range
scan
index full
scan
Hash Join
*
Sort
*
Hash Group
By
View
Operation 操作项
Name 执行对象名称,索引还是数据实体表
Rows,Cost 这几项都是代表消耗的字段,值越低越好
2、查看执行计划的顺序
查看执行计划有两种方式,一种是摁F5出来的执行计划的窗口,这样执行出来的执行计划是个预估值;另外一种是执行下面两条语句来查看,这样出来的执行计划是实际执行的计划值。后者要比前者详细,一般建议通过后者来查看。
explain plan for
select * from table(dbms_xplan.display);、
下面通过一个实际的执行计划来分析一下。
先看SQL:
select vwocode, pk_corp