易截截图软件、单文件、免安装、纯绿色、仅160KB

使用sql_trace查看sql性能

作为一个B/S开发者,或多或少都得和数据库打交道,而对数据库的操作归根到底都是query语句,所有到最后都是为了查询,那么查看sql性能又成了我们开发中的一件趣事。下面简单介绍下sql_trace的使用:
alter session set sql_trace =true ;--打开sql_trace
select * from (select * from t order by id) where rownum <= 10;--执行要查看性能的sql语句
alter session set sql_trace =true ;--关闭sql_trace
对,上面的这几句话就可以了,你只要把它打开,执行sql,关闭就OK啦。你别以为这样就万事大吉了,测试已经完成,但是我们还没有看到结果呢。别急,测试结果可不是在sql-plus中可以看到的,这里我们要用到另外一个oracle自带工具:TKPROF 。它的作用就是格式化sql_trace的测试结果。
sql_trace生成的数据是以文件形式存储,该文件的具体位置可以用下面的sql查找出来
connect / as sysdba--以管理员登入(PS:我的数据库直接执行抛出表不存在的异常,所以用管理员登入)
SELECT d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||
p.spid || '.trc' trace_file_name
from (select p.spid
from sys.v$mystat m, sys.v$session s, sys.v$process p
where m.statistic# = 1
and s.sid = m.sid
and p.addr = s.paddr) p,
(select t.instance
from sys.v$thread t, sys.v$parameter v
where v.name = 'thread'
and (v.value = 0 or t.thread# = to_number(v.value))) i,
(select value from sys.v$parameter where name = 'user_dump_dest') d
然后再dos下执行
D:\oracle\product\10.1.0\Db_1\BIN>tkprof D:\oracle\product\10.1.0\admin\super\udump\super_ora_4504.trc D:\tttt.txt
tttt.txt就是最终结果,打开后可以开到类似下面的数据
********************************************************************************
select *
from
(select * from t order by id) where rownum <= 10
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00


相关文档:

SQL注入教程之高级篇

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。
第一节、利用系统表注入SQLServer数据库
SQLServer是一个功能强大的数据库系统,与操作系统也有紧密的联系,这给开发者带来了 ......

Sql(事物+游标)使用方法

--当两个或两以上的操作要么都执行,要么都不执行时要用事务。
1. Sql写法(事物+游标)
--开始事务
BEGIN TRAN
--不显示计数信息
SET NOCOUNT ON
DECLARE @ProjNo varchar(50),@CusNo varchar(50)
--声明游标
DECLARE CRMPSContact_cursor CURSOR FOR 
SEL ......

asp.net(c#) 下SQL存储过程使用详细实例

记取记录集
create procedure getArticle
as
select * from Article_Content
GO
asp.net 调用方法
  SqlConnection Conn = new SqlConnection();
        Conn.ConnectionString = Data.Connstr();
        Conn.Open();
  ......

SQL删除有默认值字段(转)

declare   @dfname   varchar(50)  
select   @dfname=a.name  
from   sysobjects   a
inner join   syscomments   b   on   a.id=b.id  
inner join   sysconstraints  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号