19.2.3选择优化目标
该优化的目标是资源使用的优化器的优先级。
使用OPTIMIZER_MODE初始化参数,可以设置以下优化器目标:
- 最佳吞吐量(默认)
将
OPTIMIZER_MODE值设置为时ALL_ROWS,数据库将使用最少的资源来处理该语句访问的所有行。对于Oracle Reports等批处理应用程序,请进行优化以实现最佳吞吐量。通常,在批处理应用程序中,吞吐量更为重要,因为用户只关心应用程序完成所需的时间。响应时间不太重要,因为用户在应用程序运行时不会检查单个语句的结果。
- 最佳响应时间
当您设置的
OPTIMIZER_MODE值FIRST_ROWS_n,用最佳的响应时间目标数据库提供更优返回第一ň行,其中?等于1,10,100,或1000。对于Oracle Forms或SQL * Plus中的交互式应用程序,请优化响应时间。通常,响应时间很重要,因为交互式用户正在等待查看语句访问的第一行或多行。
假设条件
本教程假定以下内容:
- 主要应用程序是交互式的,因此您需要为数据库实例设置优化程序目标,以最大程度地缩短响应时间。
- 仅对于当前会话,您要运行报告并优化吞吐量。
要为特定版本启用查询优化器功能:
- 使用适当的特权将SQL * Plus连接到数据库,然后查询当前的优化器模式。
例如,运行以下SQL * Plus命令:
dba1@PROD> SHOW PARAMETER OPTIMIZER_MODE NAME TYPE VALUE ------------------------------------ ----------- -------- optimizer_mode string ALL_ROWS - 在实例级别,优化响应时间。
例如,运行以下SQL语句以配置系统以尽快检索前10行:
SQL> ALTER SYSTEM SET OPTIMIZER_MODE='FIRST_ROWS_10'; - 仅在会话级别,在运行报告之前优化吞吐量。
例如,运行以下SQL语句仅配置此会话以优化吞吐量:
SQL> ALTER SESSION SET OPTIMIZER_MODE='ALL_ROWS';
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




