Oracle数据库监听SQL语句性能

1、v$sql视图
      假定用户A与用户B都基于自身schema创建了表t
      用户A发布查询select * from t,此时共享池中产生一条与该语句的相关的sql游标,在v$sql视图体现(假定为首次执行)
      不久用户B也发出select * from t的查询,同上,v$sql中也对应有一条该语句的游标
      为了便于理解,我们将v$sql视图中的sql文本称之为游标,将v$sqlarea中的sql文本称为sql语句

2、v$sqlarea
      对于上述情形
      此时v$sqlarea则是对视图v$sql的一个聚合,也即是相当于对视图v$sql使用了distinct关键字。
      尽管v$sql中出现了两条select * from t,而v$sqlarea仅为一条
      v$sqlarea提供的是每条sql语句执行的汇总信息

3、v$sqltext
      该视图包括Shared pool中SQL语句的完整文本,但一条SQL语句是被分成多个块来进行保存的。
      对于比较短的sql语句,一个piece就搞定,对于比较长的sql语句则需要多个piece的结合来完整展现一条真正的sql语句。

4、v$sqltext_with_newlines
      该视图用于完整保存SQL语句所有字符,保留SQL语句的回车和制表符。


Column

Datatype

Descrption

SQL_TEXT

VARCHAR2(1000)

当前SQL指针的前1000个字符(也就是说这里记录的SQL是不完整的)

EXECUTIONS

NUMBER

执行次数

DISK_READS

NUMBER

这个子指针Disk Read的次数

BUFFER_GETS

NUMBER

这个子指针的Buffer Gets数量

OPTIMIZER_MODE

VARCHAR2(10)

SQL执行的优化器模式

OPTIMIZER_COST

NUMBER

SQL执行成本

HASH_VALUE

NUMBER

Library Cache中父指针的Hash Value


posted @ 2015-01-04 09:07  静以养身 俭以养德  阅读(496)  评论(0编辑  收藏  举报