如何看TRACE文件
解释TKPROF命令输出文件中各个列的含义。
-
Call:每次SQL语句的处理部分分成3个部分。
1.1 Parse:这步将SQL语句转换成执行计划,包括检查是否有正确的授权和所需要用到的表,列以及其他引用到的对象是否存在。
1.2 Execute:这步是真正的有ORACLE来执行语句。对于insert,update,delete操作,这步会修改数据,对于select操作,这步就只是确定选择的记录。
1.3 Fetch:返回查询语句中所获得的记录,这步只有select语句会被执行。 -
Count: 这个语句是被parse,execute,fetch的次数。
-
Cpu:这个语句是对于所有的parse,execute,fetch所消耗的cpu时间,以秒为单位。
-
Elapsed:这个语句时所有消耗在parse,execute,fetch上的总的时间。
-
Disk:从磁盘上的数据文件中物理读取的块的数量。一般来说更想知道的是正在从缓存中读取的数据而不是从磁盘中读取的数据。
-
Query:在一致性读模式下,所有parse,execute,fetch所获得的buffer的数量。一致性模式下的buffer是用于给一个长时间运行的事务提供一个一致性的快照,缓存实际上在头部存储了状态。
-
Current:在current模式下所有获得的buffer的数量。一般在current模式下执行insert,update,delete操作都会获取buffer。在current模式下如果在高速缓存区发现了有新的缓存足够给当前的事务使用,则这些buffer都会被装入缓存区中。
-
Rows:所有的SQL语句返回的记录数目,但是不包括子查询中返回的记录数目。对于select语句,返回记录实在fetch这步,对于insert,update,delete操作,返回的记录则是在execute这步。