Adrian Billington 在他的个人网站www.oracle-developer.net上给出了一个很有意思的小工具,Mystats Utility, 用来帮助我们查看某个操作消耗的系统资源。
下面是他的代码 (mystats_pkg), 其实也很简单,主要就是在待考察操作执行前后各采一个样(snapshot),然后比较这两个snapshot统计数据的差值,就可以得出待考察操作消耗的资源了。
Snapshot的数据主要来源于两个动态视图v$mystat和v$latch (如下), 由于这两个视图统计数据是累计的,因此需要求出两个snapshot之间的差值才能得出某个操作带来的性能影响。
'STAT..' || a.name
value
from v$statname a
4: , v$mystat b
where a.statistic# = b.statistic#
all
'LATCH..' || name
8: , gets
from v$latch;