oracle sql 执行计划分析_Oracle 历史SQL语句执行计划的对比与分析

本文通过Oracle SQL执行示例,展示了如何分析和对比SQL语句的执行计划。首先,通过`conn`连接到数据库并执行了一个查询,然后使用`@my_last_sql`调用上一个SQL。接着尝试从AWR中获取执行计划但未成功,因为没有创建快照。随后,通过`dbms_workload_repository.create_snapshot`创建快照,并再次使用`@sql_plan_disp_awr`查看SQL的历史执行计划,显示了一个包含索引范围扫描的执行计划。
摘要由CSDN通过智能技术生成

sys@SYBO2SZ> conn scott/tiger

scott@SYBO2SZ> select count(*) from big_table where owner='GOEX_ADMIN';

COUNT(*)

----------

43560

scott@SYBO2SZ> @my_last_sql

ADDRESS          HASH_VALUE SQL_ID        COMMAND_TYPE      PIECE SQL_TEXT

---------------- ---------- ------------- ------------ ---------- ---------------------------------------------------------

000000007B9BB7D0  243468085 4hqyjwh7861tp            3          0 select count(*) from big_table where owner='GOEX_ADMIN'

--从awr中查询sql的执行计划,由于没有生成快照,所以无其执行计划

scott@SYBO2SZ> @sql_plan_disp_awr

Enter value for input_sqlid: 4hqyjwh7861tp

no rows selected

--创建快照

scott@SYBO2SZ> exec dbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

--查看SQL的历史执行计划

scott@SYBO2SZ> @sql_plan_disp_awr

Enter value for input_sqlid: 4hqyjwh7861tp

PLAN_TABLE_OUTPUT

------------------------------------------------------------------------------------------------------------------------

SQL_ID 4hqyjwh7861tp

--------------------

select count(*) from big_table where owner='GOEX_ADMIN'

Plan hash value: 334839806

------------------------------------------------------------------------------------

| Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)| Time     |

------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT  |                |       |       |   139 (100)|          |

|   1 |  SORT AGGREGATE   |                |     1 |    17 |            |          |

|   2 |   INDEX RANGE SCAN| I_BIG_TB_OWNER | 10073 |   167K|   139   (0)| 00:00:02 |

------------------------------------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值