Oracle执行计划-SQL优化

Oracle执行计划-SQL优化

plsq查看sql是否走索引

选中sql  执行 F5

或者
生成计划
explain plan for
select insuredappage from lcpol  where insuredappage < 20;

查看计划
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE', NULL, 'TYPICAL'));

两种情况结果
image

image

执行计划核心字段解析​​
1.
​​Id​​
​​含义​​:执行步骤的唯一标识符,按层级缩进显示执行顺序。
​​规则​​:
从内向外(缩进最深的步骤最先执行)。
同层级从上到下(操作号小的先执行)。
根节点Id为0,表示最终结果集。
2.
​​Operation​​
​​含义​​:操作类型,揭示数据访问方式。常见操作包括:
TABLE ACCESS FULL:全表扫描(效率低,需优化)。
INDEX RANGE SCAN:索引范围扫描(高效)。
NESTED LOOPS:嵌套循环连接(适合驱动表数据少时)。
HASH JOIN:哈希连接(适合大表关联)。
3.
​​Name​​
​​含义​​:操作涉及的对象名称(表或索引)。
​​特殊值​​:
<derived N>:派生表(如子查询结果)。
<union M,N>:UNION操作的临时表。
4.
​​Rows (E-Rows)​​
​​含义​​:优化器预估当前操作返回的行数。
​​重要性​​:若实际行数与预估差异大(如相差10倍以上),可能统计信息过期,需更新统计信息。
5.
​​Cost (%CPU)​​
​​含义​​:执行当前步骤的预估资源消耗(CPU占比)。
​​作用​​:用于比较不同执行计划的效率(Cost越低越好)。
6.
​​Time​​
​​含义​​:预估当前步骤执行时间(HH:MM:SS格式)。

posted @ 2025-08-19 08:53  进击的乌拉  阅读(5)  评论(0)    收藏  举报