Oracle中SQL语句执行计划,调优

查看某SQL语句的具体消耗解析
方法1:Oracel中,按F5查看SQL执行计划, 此方法是预估,不够准确

方法2:真实记录SQL执行步骤和消耗
1、先打开统计的开关
alter session set statistics_level=all;
2、执行要测试的SQL语句,语句要设置sql_text,如 select /*sql_id1*/ * from sales
3、然后查看该SQL的执行情况,拿出sql_id
select sql_id,sql_text from v$sql where sql_text like '%/*sql_id1*/%';
4、查看实际开销报告
select * from table ( dbms_xplan.display_cursor('sql_id',null,'ALLSTATS')); --不显示细节
select * from table ( dbms_xplan.display_cursor('sql_id',0,'ADVANCED')); --显示细节CPU
5、对报告进行分析

SQL分拆算法规律,算出执行的顺序
1、父子级别,由子到父
2、同级,队伍少的放右侧(有子集的先走)
3、同样的队伍,先出现的放左侧

你可能感兴趣的:(数据库)