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

Oracle 如何找到为什么使用不同的用户使用相同的SQL速度较慢

ASKTOM 2020-06-19
1031

问题描述

我已经与系统和其他普通用户在生产环境上运行了相同的SQL。在检查解释计划时,使用两个用户都显示相同。但是在执行SQL时,系统用户返回结果的速度比普通用户快50倍。我为两个用户设置了相同的用户配置文件。除了系统用户花费更多时间在同一环境上执行相同查询之外,我们如何跟踪实际原因?

专家解答

您需要获取语句的执行计划。这包括运行时指标,例如:

-处理的行数
-花费的时间
-逻辑I/O完成
-等等。

要获得包括这些指标的计划,您可以与其他人 (例如在本网站上) 共享,请运行:

set serveroutput off
alter session set statistics_level = all;

select * from 

select * 
from   table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
复制


还有其他几种方法可以做到这一点,我在以下几个方面进行讨论:

https://blogs.oracle.com/sql/how-to-create-an-execution-plan

一旦你有了这个计划,我讨论在这个视频中要寻找什么:


文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论