--追踪共享池没有绑定变量的SQL
SELECT FORCE_MATCHING_SIGNATURE,to_char(FORCE_MATCHING_SIGNATURE ) as sing,
COUNT(1) AS REPLACE_NUM,
ROUND(SUM(SHARABLE_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(PERSISTENT_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(RUNTIME_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(CPU_TIME) / SUM(EXECUTIONS) / 1000, 3) AS CPU_TIME_AS_HAO,
ROUND(SUM(ELAPSED_TIME) / SUM(EXECUTIONS) / 1000, 3) AS ELAPSED_TIME_AS_HAO
FROM V$SQL
WHERE FORCE_MATCHING_SIGNATURE > 0
AND EXECUTIONS > 0
AND FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
GROUP BY FORCE_MATCHING_SIGNATURE
HAVING COUNT(1) > 1
ORDER BY 2 DESC;
SELECT X.*
FROM V$SQL X
WHERE FORCE_MATCHING_SIGNATURE IN ('&FORCE_MATCHING_SIGNATURE') ;
SELECT FORCE_MATCHING_SIGNATURE,to_char(FORCE_MATCHING_SIGNATURE ) as sing,
COUNT(1) AS REPLACE_NUM,
ROUND(SUM(SHARABLE_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(PERSISTENT_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(RUNTIME_MEM) / 1024 / 1024) AS SHARED_MB,
ROUND(SUM(CPU_TIME) / SUM(EXECUTIONS) / 1000, 3) AS CPU_TIME_AS_HAO,
ROUND(SUM(ELAPSED_TIME) / SUM(EXECUTIONS) / 1000, 3) AS ELAPSED_TIME_AS_HAO
FROM V$SQL
WHERE FORCE_MATCHING_SIGNATURE > 0
AND EXECUTIONS > 0
AND FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
GROUP BY FORCE_MATCHING_SIGNATURE
HAVING COUNT(1) > 1
ORDER BY 2 DESC;
SELECT X.*
FROM V$SQL X
WHERE FORCE_MATCHING_SIGNATURE IN ('&FORCE_MATCHING_SIGNATURE') ;
SQL查询优化与分析:追踪共享池中重复SQL语句
本文深入探讨了SQL查询在共享池中的优化与分析,通过特定SQL语句来追踪并识别重复执行的SQL查询,包括它们的执行次数、占用的共享内存、CPU时间和总执行时间等关键指标。通过分析这些数据,可以有效提升数据库性能,减少资源浪费。
289

被折叠的 条评论
为什么被折叠?



