当前位置: 首页 > article >正文

Oracle分析SQL执行调优

-- 步骤一 执行分析
EXPLAIN PLAN FOR '需要分析的sql语句';

-- 步骤二 查看结果

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

说明信息:

ID(Operation ID):

意义:操作的唯一标识符,用于指定执行计划中每个操作的顺序。
示例:1, 2, 3, ...


Operation(操作):

意义:描述执行计划中每个操作的类型。

  1. INDEX UNIQUE SCAN:通过唯一索引直接获取单一行,效率高。
  2. INDEX RANGE SCAN:通过索引的范围扫描,效率相对较高。
  3. TABLE ACCESS BY INDEX ROWID:通过索引的 ROWID 获取表中的行,效率较高。
  4. NESTED LOOPS:嵌套循环连接,适用于小数据集,效率较高。
  5. HASH JOIN SEMI:哈希连接的半连接操作,用于检查左表中的行是否在右表中存在,适用于特定场景。
  6. INDEX FULL SCAN:通过索引进行全表扫描,可能效率较高,特别是对小表。
  7. HASH JOIN:哈希连接,适用于大型数据集,但可能产生大量内存开销。
  8. FILTER:在最后的结果集上进一步筛选数据,可能是由于未使用索引而导致的。
  9. MERGE JOIN:合并连接,可能对排序有较高要求,效率较低。
  10. TABLE ACCESS FULL:对整个表进行全表扫描,可能效率较低,特别是对大表。


Name(名称):

意义:操作所涉及的表、索引或其他数据库对象的名称。
示例:EMPLOYEE, INDEX_NAME, ...


Rows(行数):

意义:操作处理的行数,表示操作返回的记录数。
示例:100, 500, ...


Cost(成本):

意义:优化器估算的执行成本,用于确定执行计划的最佳顺序。
示例:1000, 2000, ...


Bytes(字节数):

意义:操作传输的数据量,可用于评估查询的数据传输开销。
示例:102400, 204800, ...


http://www.kler.cn/a/226792.html

相关文章:

  • 三门问题(Python运算蒙提霍尔问题)
  • 学习方法分享
  • Http请求Cookie失效问题
  • 深入了解Flutter中的Sliver:介绍与使用场景
  • 基于SpringBoot开发的校刊投稿系统[附源码]
  • 美国服务器地址和端口及密码
  • 如何选择最适合的服务器
  • 线性代数------矩阵的运算和逆矩阵
  • 《PyTorch基础教程》01 搭建环境 基于Docker搭建ubuntu22+Python3.10+Pytorch2+cuda11+jupyter的开发环境
  • MySQL系统配置
  • 【微服务】skywalking自定义链路追踪与日志采集
  • 01-16Maven-SpringBoot入门
  • 瑞_数据结构与算法_红黑树
  • 【git指南】git 本地代码版本控制
  • Servlet基础之URL匹配规则
  • 高中数学立体几何练习题3
  • ManticoreSearch-(安装配置,集群搭建)-学习总结
  • [VulnHub靶机渗透] WestWild 1.1
  • 嵌入式中物联网核心技术有哪些
  • 深度学习和大数据技术的进步在自然语言处理领域的应用