【文件属性】:
文件名称:如何分析执行计划-ORACLE+SQL性能优化(全)
文件大小:2.32MB
文件格式:PPT
更新时间:2021-04-25 22:12:03
SQL
如何分析执行计划
通过如下示例进行分析演示:
例1:
假设LARGE_TABLE是一个较大的表,且username列上没有索引,则
运行下面的语句:
SQL> SELECT * FROM LARGE_TABLE where USERNAME = ‘TEST’;
Query Plan -----------------------------------------
SELECT STATEMENT Optimizer=CHOOSE (Cost=1234 Card=1 Bytes=14)
TABLE ACCESS FULL LARGE_TABLE [:Q65001] [ANALYZED]
在这个例子中,TABLE ACCESS FULL LARGE_TABLE是第一个操作
,意思是在LARGE_TABLE表上做全表扫描。当这个操作完成之后,产
生的row source中的数据被送往下一步骤进行处理,在此例中,
SELECT STATEMENT 操作是这个查询语句的最后一步。
Optimizer=CHOOSE 指明这个查询的optimizer_mode,即
optimizer_mode 初始化参数指定的值,它并不是指语句执行时真的使用
了该优化器。决定该语句使用何种优化器的唯一方法是看后面的cost部
分。如果给出的是下面的形式,则表明使用的是CBO优化器,此
处的cost表示优化器认为该执行计划的代价:
SELECT STATEMENT Optimizer=CHOOSE (Cost=1234 Card=1 Bytes=14)