上一节基于CBO的SQL优化之统计信息,这节我们再来讨论下EXPLAIN PLAN FOR,必须使用一个脚本文件utlxplan.sql来创建plan_table来存储使用explain plan for语句获得的SQL语句分析结果,
在oracle的安装目录中,我们需要找到utlxplan.sql这个文件,然后执行。我这里的这个文件的路径位于E:\ORCL\rdbms\admin\utlxplan.sql,执行命令如下:
SQL> @E:\ORCL\rdbms\admin\utlxplan.sql
表已创建。
查看plan_table的结构
SQL> desc plan_table;
通过explain plan for指令分析SQL语句的执行计划
SQL> explain plan for select is_open,count(*) from quant.TRADE_CAL group by is_open;
查看表plan_table的SQL语句执行计划信息
SQL> col id for 999
SQL> col operation for a20
SQL> col options for a20
SQL> col object_name for a20
SQL> select id,operation,options,object_name,options from plan_table;
我们可以看到,这是一个全表扫描的,表明是TRADE_CAL。