全名为Trace Kernel Profile,用来格式化跟踪文件,是一个命令行工具。

主要的格式例如以下:

tkprof tracefile outputfile …

tracefile:要分析的trace文件

outputfile:格式化后的文件

可选參数及说明例如以下:

EXPLAIN 为每一个SQL语句产生运行计划,指定用户方案和password,使用当中的PLAN_TABLE表

TABLE 当EXPLAIN选项生效时可用,指定替代PLAN_TABLE的表

SYS 启用该选项时不包括递归调用,=NO时,sys用户执行的SQL语句(比如,解析操作阶段对数据字典的递归查询)不输出到输出文件里

SORT 指定SQL语句的排序方式

RECORD 指定文件名称,将SQL语句写入,排除递归的SQL

PRINT 限定仅仅输出指定数量的分析SQL语句,默认是无限制的,仅仅有在和參数sort一起使用的时候才有意义

INSERT 指定一个文件名称,容纳相关的插入SQL语句,将分析的SQL及统计插入TKPROF_TABLE

AGGREGATE是否将同样sql语句的运行信息合计起来,默觉得yes

WAITS 指定是否统计跟踪文件里的等待事件

SORT选项可分三类,解析选项,运行选项和取数据选项(PRS,EXE,FCH),根椐这三种操作占用相关资源来排序。

TKPROF针对SQL的统计也分为三类:解析(prsela),运行(exeela),取数(fchela)

 

Count:Parse,Execute,Fetch发生的次数

CPU:表示处理数据调用花去的CPU时间,以秒为单位

Elapsed:是处理数据库调用花费的总的时间,以秒为单位

Disk:表示物理读取的数据块数量

Query:是在一致性模式(consistent mode)下从快速缓存逻辑读取的块数量

Current:代表在当前模式下从快速缓存逻辑读取的块数量

Rows:代表处理的数据行数量。对于查询来说,这就是获取的行数量。对于INSERT、DELETE、MERGE以及UPDATE 等语句来说,这是所影响的行数量

解析的信息開始两行Misses in library cache during parse和Misses in library cache during execute提供了发生在解析和运行调用阶段的硬解析数量。

假设在运行调用时没有硬解析发生,Misses in library cache during execute这一行将不存在。

运行计划分为两部分:

第一部分称为行源操作(Row Source Operation ),是游标关闭且开启跟踪情况下写到跟踪文件里的运行计划。这意味着假设应用程序不关闭游标而重用它们的话,不会有新的针对重用游标的运行计划写入到跟踪文件里。

第二部分,叫做运行计划 (Execution Plan),是由指定了explain參数的TKPROF生成的。既然这是随后生成的,所以和第一部分不一定全然匹配。万一你看到不一致,前者是正确的。

两个运行计划都通过Rows列提供运行计划中每一个操作返回的行数,不是处理的。

对于每一个行源操作来说,可能还会提供例如以下的执行时统计:

cr:是一致性模式下逻辑读出的数据块数

pr:是从磁盘物理读出的数据块数

pw:是物理写入磁盘的数据块数

time是以微秒表示的总的消逝时间。要注意依据统计得到的值不总是精确的。实际上,为了降低开销,可能用了採样

输出文件的结尾给出了全部关于跟踪文件的信息。首先能够看到跟踪文件名、版本、用于这个分析所使用的參数sort的值。然后,给出了全部会话数量与SQL语句数量。

从TKPROF的统计结果观察,发现下列特征的SQL可能须要调优:

1. 消耗过度的CPU资源;

2. 花费太长的时间在Parse,Execute,Fetch阶断;

3. 从磁盘读数据块太多而从SGA中读块非常少;

4. 存取太多的数据块(从SGA或者磁盘)而返回的行数非常少;

SQL性能优化工具TKPROF的更多相关文章

  1. Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor

    原文:Sql性能检测工具:Sql server profiler和优化工具:Database Engine Tuning Advisor 一.工具概要     数据库应用系统性能低下,需要对其进行优化 ...

  2. ORACLE数据库学习之SQL性能优化详解

                                                                                    Oracle  sql 性能优化调整 ...

  3. SQL性能优化应该考虑哪些?

     1.调整数据结构的设计.这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等. 2.调整应用程序结构设计.这一部分也是在开 ...

  4. MySQL 基础及性能优化工具

    数据库,用户及权限 常用用户管理操作 # 创建本地用户 abc create user abc@localhost # 创建内网能够访问的用户 abc create user abc@'192.168 ...

  5. SQL性能优化案例分析

    这段时间做一个SQL性能优化的案例分析, 整理了一下过往的案例,发现一个比较有意思的,拿出来给大家分享. 这个项目是我在项目开展2期的时候才加入的, 之前一期是个金融内部信息门户, 里面有个功能是收集 ...

  6. SQL性能优化

    引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有.一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便 ...

  7. 性能优化工具 MVC Mini Profiler

    性能优化工具 MVC Mini Profiler   MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC.WebForm 以及WCF 的性能分析的小程 ...

  8. ASP.NET MVC性能优化工具 MiniProfiler

    ASP.NET MVC性能优化工具 MiniProfiler 2014年04月19日 ⁄ ASP.NET ⁄ 共 1159字 ⁄ 字号 小 中 大 ⁄ 暂无评论 ⁄ 阅读 325 views 次 MV ...

  9. 我对SQL性能优化的看法,对我的文章有提议的欢迎评论!

    影响你的查询速度的原因是什么? 网速不给力,不稳定. 服务器内存不够,或者SQL 被分配的内存不够. sql语句设计不合理 没有相应的索引,索引不合理 表数据过大没有有效的分区设计 数据库设计太2,存 ...

随机推荐

  1. Java [leetcode 8] String to Integer (atoi)

    问题描述: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ...

  2. pl/sql developer 连接本地ORACLE 11g 64位数据库

    1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...

  3. js中json与数组字符串的相互转化

    <SCRIPT LANGUAGE="JavaScript"> var t="{'firstName': 'cyra', 'lastName': 'richar ...

  4. MyBatis 入门到精通(二) SQL语句映射XML文件

    MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在.对于它的强大功能,SQL 映射文件的配置却非常简单. 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射 ...

  5. Java SE 6 新特性: 对脚本语言的支持

    2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...

  6. IBM笔试题(_与equals的区别)

    http://topic.csdn.net/t/20050325/08/3879427.html 题目:Integer   i   =   new   Integer(42)     Long   l ...

  7. 【windows核心编程】DLL相关(3)

    DLL重定向 因为DLL的搜索路径有先后次序,假设有这样的场景:App1.exe使用MyDll1.0.dll, App2.exe使用MyDll2.0.dll, MyDll1.0 和 MyDll2.0是 ...

  8. [GRYZ2015]Graph

    题目描述 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v) 表示从点 v 出发,能到达的编号最大的点. 输入格式 第 1 行,2 个整数 N,M. 接下来 M 行,每行 2 个整数 Ui ...

  9. gcc编译器基本命令

    1 unix操作系统 ubuntu 12版本Unix内核0.5天 常用命令2 c语言:标准c 十天主要练习动手能力 小案例水平高的 自己去写案例水平低的 理解并跟着写3 c++:5天高级语言的特点:面 ...

  10. 五指cms内容浏览量实现方法

    实现功能:文章浏览量的统计显示 实现的详细:对文章的总浏览量.当天浏览量.当周浏览量.当月浏览量进行统计 实现代码位置:coreframe/app/content/stat.php 实现的详细代码: ...