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

Oracle 19C 实现SQL配置文件

原创 Asher.HU 2021-02-04
592


实施SQL配置文件意味着将其永久存储在数据库中。

实施配置文件与接受配置文件相同。在生成计划时,必须先接受概要文件,然后优化器才能将其用作输入。

本节包含以下主题:

 

26.2.1关于SQL配置文件的实现

根据经验,实施SQL Tuning Advisor建议的SQL配置文件。

如果数据库建议同时使用索引和SQL概要文件,则请同时使用两者或仅使用SQL概要文件。如果创建索引,则优化器可能需要配置文件来选择新索引。

在某些情况下,除了更好的并行计划之外,SQL Tuning Advisor可能还会发现改进的串行计划。在这种情况下,顾问建议同时使用标准和并行SQL配置文件,从而使您可以为语句选择最佳的串行计划和最佳的并行计划。仅在响应时间的增加值得减少吞吐量的情况下,才执行并行计划。

要实现SQL配置文件,请执行以下DBMS_SQLTUNE.ACCEPT_SQL_PROFILE过程。一些重要的参数如下:

  • profile_type

    REGULAR_PROFILE对于不更改并行执行PX_PROFLE的SQL概要文件,或对于更改为并行执行的SQL概要文件,将此参数设置

  • force_match

    此参数控制语句匹配。通常,可接受的SQL配置文件通过使用散列函数生成SQL签名与SQL语句关联此哈希函数将SQL语句更改为大写并在生成签名之前删除所有多余的空格。因此,相同的SQL配置文件适用于所有SQL语句,其中唯一的区别是大小写和空格。

    通过设置force_matchtrue,在WHERE子句中的文字值已被绑定变量替换之后,SQL配置文件还针对所有具有相同文本的SQL语句对于仅使用文字值的应用程序,此设置可能很有用,因为它使具有文字值仅不同的文本的SQL能够共享SQL配置文件。如果文字值和绑定变量都在SQL文本中,或者如果force_match将其设置为false(默认值),则WHERE子句中的文字值不会被绑定变量替换。

也可以看看:

《 Oracle数据库PL / SQL软件包和类型参考》以获取有关该ACCEPT_SQL_PROFILE过程的 信息

 

26.2.2实施SQL配置文件

要实现SQL配置文件,请使用以下DBMS_SQLTUNE.ACCEPT_SQL_PROFILE过程。

假设条件

本教程假定以下内容:

  • SQL Tuning Advisor任务STA_SPECIFIC_EMP_TASK包括创建SQL配置文件的建议。
  • SQL配置文件的名称为my_sql_profile
  • PL / SQL块接受使用并行执行(profile_type的配置文件
  • 轮廓使用力匹配。

要实现SQL配置文件:

  1. 在SQL * Plus或SQL Developer中,以具有必要特权的用户身份登录数据库。
  2. 执行ACCEPT_SQL_PROFILE功能。

    例如,执行以下PL / SQL:

    DECLARE
      my_sqlprofile_name VARCHAR2(30);
    BEGIN
      my_sqlprofile_name := DBMS_SQLTUNE.ACCEPT_SQL_PROFILE ( 
        task_name    => 'STA_SPECIFIC_EMP_TASK'
    ,   name         => 'my_sql_profile'
    ,   profile_type => DBMS_SQLTUNE.PX_PROFILE
    ,   force_match  => true 
    );
    END;
    /

也可以看看:

Oracle Database PL / SQL软件包和类型参考以了解该DBMS_SQLTUNE.ACCEPT_SQL_PROFILE过程

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

评论