温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

v$sql v$sqlarea v$sqltext

发布时间:2020-07-12 12:20:24 来源:网络 阅读:510 作者:lych528 栏目:MySQL数据库

这里做个笔记,纯属是加深印象:

V$SQL lists statistics on shared SQL areas without the GROUP BY clause and contains one row for each child of the original SQL text entered. Statistics displayed in V$SQL are normally updated at the end of query execution. However, for long running queries, they are updated every 5 seconds. This makes it easy to see the impact of long running SQL statements while they are still in progress.

明显v$sql的信息来源于共享内存区shared SQL areas,也就是说相关SQL信息在数据库重启,数据库缓存被刷,或相关SQL信息被踢出缓存区,此SQL的信息就不能在V$SQL里查询。而V$SQL记录每一个SQL的每一个子游标的信息。

V$SQLAREA displays statistics on shared SQL areas and contains one row per SQL string. It provides statistics on SQL statements that are in memory, parsed, and ready for execution.

同样v$sqlarea也存储于library cache,然而这个视图却做了一个统计分析,统计的方式是以sql string分组,也就是以sql_text文本做了group by,在此前提下对其他信息统计sum()。通过version_count可以得出SQL子游标的总数。所以简单的说:v$sqlarea存放的是相同SQL语句不同version一个汇总。

version_count:Number of child cursors that are present in the cache under this parent

excutions : Total number of executions, totalled over all the child cursors

V$SQLTEXT displays the text of SQL statements belonging to shared SQL cursors in the SGA.

v$sql及v$sqlarea存放的更多的是性能数据,但其sql_text是不完整的的,如果想获得完整的sql就要用v$sqltext。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI