先来说一下时间单位和简写:
1, centi-代表"百分之一", 所以cs表示百分之一秒2, milli-代表"千分之一", 所以ms表示千分之一秒3, micro-代表"百万分之一", 所以us表示百万分之一秒
我一直搞不清楚V$SYSSTAT中的CPU used by this session和V$SQL中的CPU_TIME一列的时间单位是什么, 今天就写一下来帮助自已记得更清楚一些, 查阅Oracle 9i的数据库参考手册后, 终于搞明白了:
1, V$SYSSTAT或V$SESSTAT中的CPU used by this session的单位是百分之一秒(cs)2, V$SQL中的CPU_TIME一列中用的是百万分之一秒(us)
从我的工具的运行状况来看, V$SQL的CPU_TIME采用百万分之一秒(us)的单位实在是太小了, 导至这个列的值经常溢出, 也就是后一个时间点的值减前一个时间点的值后居然是负值(在这儿我用的是2分钟的采样频率), 如果是15分钟或以上间隔的STATSPACK的信息, 我相信这个列的数据是不准确的, 或许应当采用大一些的计量单位.
查了一下10g(R2)的数据库参考手册, 和上面说的一样, 没有变动.