优化器\使用\ sql \计划\基线和资源\管理器\ cpu \分配oracle系统参数是否对sql查询性能有影响

优化器\使用\ sql \计划\基线和资源\管理器\ cpu \分配oracle系统参数是否对sql查询性能有影响,oracle,query-optimization,Oracle,Query Optimization,Is optimizer\u use\u sql\u plan\u基线和resource\u manager\u cpu\u allocation oracle系统参数对sql查询性能有影响 我们有两个envt假设A和B。在一个envt查询上运行良好,但在envt中。B它的固缝时间。我比较了系统参数,发现优化器\u使用\u sql\u计划\u基线和资源\u管理器\u cpu\u分配中的值存在差异。sql计划基线和资源管理器肯定会对性能产生巨大影响,您应该使用以下两个查询,或者确认或否认这些参数与

Is optimizer\u use\u sql\u plan\u基线和resource\u manager\u cpu\u allocation oracle系统参数对sql查询性能有影响


我们有两个envt假设A和B。在一个envt查询上运行良好,但在envt中。B它的固缝时间。我比较了系统参数,发现优化器\u使用\u sql\u计划\u基线和资源\u管理器\u cpu\u分配中的值存在差异。

sql计划基线和资源管理器肯定会对性能产生巨大影响,您应该使用以下两个查询,或者确认或否认这些参数与您的问题相关

GV$SQL存储与每个SQL语句关联的SQL计划基线。比较下面查询中的SQL\u PLAN\u BASELINE列,如果它们相等,则您的问题与基线无关:

select sql_plan_baseline, round(elapsed_time/1000000) elapsed_seconds, gv$sql.*
from gv$sql
order by elapsed_time desc;
活动会话历史记录(ASH)视图可以告诉您资源管理器是否存在问题。如果您的查询被限制,那么您将看到一个事件 在下面的查询中命名为“resmgr:cpu quantum”。(但请注意计数-如果等待事件只发生很少次数,请不要对其进行故障排除。)

资源管理器可能有其他潜在的负面影响。如果您在数据仓库中,并且使用并行查询,则资源管理器可能已降级了一个系统上的查询。如果使用并行查询,请尝试比较两个系统的SQL监控报告:

select dbms_sqltune.report_sql_monitor(sql_id => '&YOUR_SQL_ID') from dual;

然而,我有一种感觉,你对你的问题使用了错误的方法。Oracle数据库性能通常有两种方法—数据库调优和查询调优。如果您只对一个查询感兴趣,那么您可能应该关注执行计划和该特定查询操作的等待事件等内容。

您确定其他所有内容都是相同的吗?(数据、优化器统计信息、系统统计信息、硬件等)此外,您应该检查为什么查询的性能不同(不同的计划、等待等)。总之,简短的回答是肯定的。每个参数都有目的,所以它可以改变行为。
select dbms_sqltune.report_sql_monitor(sql_id => '&YOUR_SQL_ID') from dual;