ORACLE-执行计划查询

--实际执行计划查询

1.alter session set statistics_level = all;

(这一步对当前会话窗口有效,可以不做,下面解释)

2.执行语句;

(如果上一步不做,则需要在语句中添加 /*+ gather_plan_statistics */。 例如:select /+ gather_plan_statistics */ * from dual; 但这样做比较麻烦 ,每条语句都要加上,不推荐)

3.找出执行语句的SQL ID,例如:

sql 复制代码
   select SQL_ID,v.last_active_time, v.* from v$sql v where  v.last_active_time > to_date('2024/01/10 17:00:00', 'yyyy/mm/dd hh24:mi:ss')  and v.SQL_FULLTEXT not like'%SQL_ID%' 
 and v.SQL_FULLTEXT like '%select %'
  order by v.last_active_time desc

4.根据SQL ID查出执行计划 select * from table(dbms_xplan.display_cursor('SQL_ID',null,'allstats last'));

select * from table(dbms_xplan.display_cursor('79qcx7ttjnqrv',null,'allstats last'));

5.A-Rows 和 A-Time 为真实时间

sql 复制代码
5.A-Rows  和 A-Time 为真实时间
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| Id  | Operation                             | Name                                         | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  | Writes |  OMem |  1Mem | Used-Mem | Used-Tmp|
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                      |                                              |      1 |        |     50 |00:00:24.93 |     163K|  25395 |  25395 |       |       |          |         |
|*  1 |  HASH JOIN                            |                                              |      1 |      1 |     50 |00:00:24.93 |     163K|  25395 |  25395 |   362M|    15M|  394M (0)|         |
|*  2 |   HASH JOIN                           |                                              |      1 |      1 |   1140K|00:00:14.61 |     163K|  12915 |  12915 |   366M|    15M|  397M (0)|     108M|
|*  3 |    HASH JOIN                          |                                              |      1 |      1 |   1140K|00:00:04.51 |     163K|      0 |      0 |   332M|    15M|  358M (0)|         |
|*  4 |     INDEX RANGE SCAN                  | PA_CHARGES_DETAILS_VS_PERFORMANCEUNIT_INDEX2 |      1 |      1 |   1208K|00:00:01.66 |     103K|      0 |      0 |       |       |          |         |
|*  5 |     INDEX FAST FULL SCAN              | PA_CHARGE_POINT_INDEX2                       |      1 |      1 |   1451K|00:00:01.09 |   59607 |      0 |      0 |       |       |          |         |
|   6 |    TABLE ACCESS FULL                  | BD_WA_SALARY_PERFORMANCEUNIT                 |      1 |      1 |    277 |00:00:00.01 |      37 |      0 |      0 |       |       |          |         |
|   7 |   INLIST ITERATOR                     |                                              |      1 |        |      1 |00:00:00.01 |       2 |      0 |      0 |       |       |          |         |
|   8 |    TABLE ACCESS BY INDEX ROWID BATCHED| BD_PA_DEPT_TYPE                              |      1 |      1 |      1 |00:00:00.01 |       2 |      0 |      0 |       |       |          |         |
|*  9 |     INDEX RANGE SCAN                  | IDX_DTYPE_CODE                               |      1 |      1 |      1 |00:00:00.01 |       1 |      0 |      0 |       |       |          |         |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
相关推荐
用户8307196840823 小时前
Spring Boot WebClient性能比RestTemplate高?看完秒懂!
java·spring boot
IvorySQL3 小时前
PostgreSQL 技术日报 (3月11日)|4库合一性能提升350倍与内核新讨论
数据库·postgresql·开源
IvorySQL3 小时前
谁动了我的查询结果?PostgreSQL 联表加锁的隐藏陷阱
数据库·postgresql·开源
Assby5 小时前
从洋葱模型看Java与Go的设计哲学:为什么它们如此不同?
java·后端·架构
爱可生开源社区6 小时前
🧪 你的大模型实验室开张啦!亲手测出最懂你 SQL 的 AI
数据库·sql·llm
belhomme6 小时前
(面试题)Netty 线程模型
java·面试·netty
赵渝强老师10 小时前
【赵渝强老师】使用TiSpark在Spark中访问TiDB
数据库·mysql·tidb·国产数据库
NE_STOP10 小时前
MyBatis-plus进阶之映射与条件构造器
java
Qinana11 小时前
第一次用向量数据库!手搓《天龙八部》RAG助手,让AI真正“懂”你
前端·数据库·后端