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

Oracle 19C 选择优化目标

原创 Asher.HU 2021-02-04
909

19.2.3选择优化目标

优化的目标是资源使用的优化器的优先级。

使用OPTIMIZER_MODE初始化参数,可以设置以下优化器目标:

  • 最佳吞吐量(默认)

    OPTIMIZER_MODE设置为时ALL_ROWS,数据库将使用最少的资源来处理该语句访问的所有行。

    对于Oracle Reports等批处理应用程序,请进行优化以实现最佳吞吐量。通常,在批处理应用程序中,吞吐量更为重要,因为用户只关心应用程序完成所需的时间。响应时间不太重要,因为用户在应用程序运行时不会检查单个语句的结果。

  • 最佳响应时间

    当您设置的OPTIMIZER_MODEFIRST_ROWS_n,用最佳的响应时间目标数据库提供更优返回第一ň行,其中?等于110100,或1000

    对于Oracle Forms或SQL * Plus中的交互式应用程序,请优化响应时间。通常,响应时间很重要,因为交互式用户正在等待查看语句访问的第一行或多行。


假设条件

本教程假定以下内容:

  • 主要应用程序是交互式的,因此您需要为数据库实例设置优化程序目标,以最大程度地缩短响应时间。
  • 仅对于当前会话,您要运行报告并优化吞吐量。

要为特定版本启用查询优化器功能:

  1. 使用适当的特权将SQL * Plus连接到数据库,然后查询当前的优化器模式。

    例如,运行以下SQL * Plus命令:

    dba1@PROD> SHOW PARAMETER OPTIMIZER_MODE
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- --------
    optimizer_mode                       string      ALL_ROWS
    
    复制
  2. 在实例级别,优化响应时间。

    例如,运行以下SQL语句以配置系统以尽快检索前10行:

    SQL> ALTER SYSTEM SET OPTIMIZER_MODE='FIRST_ROWS_10';
    
    复制
  3. 仅在会话级别,在运行报告之前优化吞吐量。

    例如,运行以下SQL语句仅配置此会话以优化吞吐量:

    SQL> ALTER SESSION SET OPTIMIZER_MODE='ALL_ROWS';
    复制

 



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

评论