由于后端查询在Oracle上运行缓慢,我的应用程序运行缓慢。
在AppDynamics监控工具中,我看不到以下查询的执行次数很高。
SELECT executions, end_of_fetch_count, elapsed_time/px_servers elapsed_time, cpu_time/px_servers cpu_time, buffer_gets/executions buffer_gets
FROM (
SELECT sum(executions) as executions, sum(case when px_servers_executions > ? then px_servers_executions else executions end) as px_servers, sum(end_of_fetch_count) as end_of_fetch_count, sum(elapsed_time) as elapsed_time, sum(cpu_time) as cpu_time, sum(buffer_gets) as buffer_gets
FROM gv$sql WHERE executions > ?
AND sql_id = :?
AND parsing_schema_name = :?)
上述查询在一天之内502467950执行次数
和
update user$ set spare6=DECODE(to_char(:?, ?), ?, to_date(NULL), :?) where user#=:?
此查询在1天之内2425367481执行次数
我怀疑这会占用大部分CPU时间(或其他资源),而不是由应用程序实际执行的查询。
在查看AppDynamics时,还显示这些查询是使用SYS用户从我的应用程序服务器中触发的。但是我的应用程序无权访问SYS用户。
任何人都可以帮助我找出触发这些查询执行的原因/这些查询的实际含义吗?
谢谢。