暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19C 在SQL计划基准中显示计划

原创 Asher.HU 2021-02-04
846


要查看存储在SQL计划基线中的特定语句的计划,请使用DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE函数。此功能使用存储在计划历史记录中的计划信息来显示计划。

下表描述了该DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE功能的相关参数

表28-4 DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE参数

功能参数描述

sql_handle

语句的SQL处理。通过连接V$SQL.SQL_PLAN_BASELINEDBA_SQL_PLAN_BASELINES视图来检索SQL处理PLAN_NAME

plan_name

声明计划的名称。

本节说明如何从命令行在基线中显示计划。如果使用Cloud Control,则从图28-1所示的“ SQL计划基准”子页面显示计划基准

要在SQL计划基线中显示计划:

  1. 使用适当的特权将SQL * Plus连接到数据库,然后获取要显示其计划的查询的SQL ID。

    例如,假定SELECT具有SQL ID 语句存在SQL计划基线31d96zzzpcys9

  2. 通过SQL ID查询计划。

    以下查询显示具有SQL ID的语句的执行计划31d96zzzpcys9

    SELECT PLAN_TABLE_OUTPUT
    FROM   V$SQL s, DBA_SQL_PLAN_BASELINES b, 
           TABLE(
           DBMS_XPLAN.DISPLAY_SQL_PLAN_BASELINE(b.sql_handle,b.plan_name,'basic') 
           ) t
    WHERE  s.EXACT_MATCHING_SIGNATURE=b.SIGNATURE
    AND    b.PLAN_NAME=s.SQL_PLAN_BASELINE
    AND    s.SQL_ID='31d96zzzpcys9';
    

    示例查询结果如下:

    PLAN_TABLE_OUTPUT
    ---------------------------------------------------------------------------
     
    ---------------------------------------------------------------------------
    SQL handle: SQL_513f7f8a91177b1a
    SQL text: select * from hr.employees where employee_id=100
    ---------------------------------------------------------------------------
    
    ---------------------------------------------------------------------------
    Plan name: SQL_PLAN_52gvzja8jfysuc0e983c6         Plan id: 3236529094
    Enabled: YES     Fixed: NO      Accepted: YES     Origin: AUTO-CAPTURE
    ---------------------------------------------------------------------------
     
    Plan hash value: 3236529094
     
    -----------------------------------------------------
    | Id  | Operation                   | Name          |
    -----------------------------------------------------
    |   0 | SELECT STATEMENT            |               |
    |   1 |  TABLE ACCESS BY INDEX ROWID| EMPLOYEES     |
    |   2 |   INDEX UNIQUE SCAN         | EMP_EMP_ID_PK |
    -----------------------------------------------------
    

    结果表明,SQL ID计划31d96zzzpcys已命名SQL_PLAN_52gvzja8jfysuc0e983c6并被自动捕获。


也可以看看:

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论