您必须确定哪些SQL语句使用最多的CPU或磁盘资源。
如果TIMED_STATISTICS启用了该参数,则可以在该CPU列中找到较高的CPU活动。如果TIMED_STATISTICS未启用,则检查QUERY和CURRENT列。
除了锁定问题和低效的PL / SQL循环外,查找问题语句不需要CPU时间或经过的时间。关键是查询(即要符合读取一致性)和当前(即要不符合读取一致性)的块访问次数。将在当前模式下获取将要更新的段标题和块,但是所有查询和子查询处理均以查询模式请求数据。这些措施与实例统计信息CONSISTENT GETS和完全相同DB BLOCK GETS。您可以在disk列中找到高磁盘活动。
下面的清单显示TKPROF了一条SQL语句在输出文件中出现的输出:
SELECT *
FROM emp, dept
WHERE emp.deptno = dept.deptno;
call count cpu elapsed disk query current rows
---- ------- ------- --------- -------- -------- ------- ------
Parse 11 0.08 0.18 0 0 0 0
Execute 11 0.23 0.66 0 3 6 0
Fetch 35 6.70 6.83 100 12326 2 824
------------------------------------------------------------------
total 57 7.01 7.67 100 12329 8 826
Misses in library cache during parse: 0
如果具有7.01 CPU秒并检索824行的记录是可以接受的,则无需进一步查看此跟踪输出。实际上,TKPROF调优练习中报告的主要用途是从详细调优阶段中消除流程。
输出表明进行了10个不必要的解析调用(因为该单个语句存在11个解析调用)并且执行了数组提取操作。提取的行多于执行的提取。CPU和elapsed时序之间的较大差距表示物理I / O。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




