【TUNE_ORACLE】列出NL(NESTED LOOPS)被驱动表走了全表扫描的SQL参考

来源:这里教程网 时间:2026-03-03 16:51:52 作者:

实验环境

搭建平台:VMware Workstation

OS:RHEL 6.10

Grid&DB:Oracle 11.2.0.4

SQL参考select c.sql_text, a.sql_id, b.object_name, d.mb  from v$sql_plan a,       (select *          from (select sql_id,                       child_number,                       object_owner,                       object_name,                       parent_id,                       operation,                       options,                       row_number() over(partition by sql_id, child_number, parent_id order by id) rn                  from v$sql_plan)         where rn = 2) b,       v$sql c,       (select owner, segment_name, sum(bytes / 1024 / 1024) mb          from dba_segments         group by owner, segment_name) d where b.sql_id = c.sql_id   and b.child_number = c.child_number   and b.object_owner = 'TEST'  --用户名   and a.sql_id = b.sql_id   and a.child_number = b.child_number   and a.operation like '%NESTED LOOPS%'  --NL循环   and a.id = b.parent_id   and b.operation = 'TABLE ACCESS'  --全表扫描“ TABLE ACCESS FULL”   and b.options = 'FULL'   and b.object_owner = d.owner   and b.object_name = d.segment_name order by 4 desc;

相关推荐