V$SQL、V$SQLSTATS、V$SQLAREA

本文介绍了Oracle数据库中V$SQL、V$SQLAREA与V$SQLSTATS视图的功能及区别。V$SQL记录每条已解析SQL语句的具体信息,V$SQLAREA提供SQL区域的统计信息,而V$SQLSTATS则保存更长时间的基本统计信息。
摘要由CSDN通过智能技术生成

V$SQL视图记录了实例启动以来存放在shared pool中的的所有已经解析的SQL语句信息,它不包含GROUP BY字句,并且为每一条SQL语句中单独存放一条记录;但是出于对空间原因有可能会删除旧的sql语句, 存储的是具体的SQL 和执行计划相关信息

(任何一条执行过的语句不管执行了几次在V$SQL中都只有一条记录,V$SQL中会记录执行了几次。两条一模一样的语句但是在不同的schema下执行的两种结果,如select * from t1.testsyesystem下执行则V$SQL只有一条记录。如在syssystem都执行select * from testV$SQL中有两条记录,两条记录的CHILD_NUMBERPARSING_SCHEMA_NAME不一样。同一个用户下执行一样的语句如果大小写不一样或加了hint的话则会出现多个V$SQL记录,说明V$SQL对应的sql语句必须一模一样,如果alter system flush shared_pool(主站慎用)后再执行一样的语句,发现语句在V$SQL中的SQL_IDHASH_VALUE与之前的一样,说明SQL_IDHASH_VALUE应该是oracle自己的一套算法来的,只是根据sql语句内容来进行转换,sql语句不变则SQL_IDHASH_VALUE也不变。)

 

V$SQLAREA视图记录了实例启动以来存放在shared pool中的的所有已经解析的SQL语句信息,它包含GROUP BY字句,其中一条记录显示了一条共享SQL区中的统计信息。它提供了有在内存中、解析过的和准备运行的SQL语句的统计信息;

 

V$SQLSTATS视图记录了实例启动以来存放在shared pool中的的所有已经解析的SQL语句信息,也是返回基本的统计信息,但是信息保留的时间比v$sqlv$sqlarea时间长,其中的数据是v$sqlv$sqlarea的子集。

 

 

V$SQLV$SQLAREA两个视图的不同之处在于,V$SQL中为每一条SQL保留一个条目,而V$SQLAREA可以看做V$SQL根据 sqltext 做了 group by 之后的信息

 

所以,查看TOP 10 SQL只需要以V$SQL为基础即可

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-2057475/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30126024/viewspace-2057475/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值