优化SQL的另一种思维7 客户端程序优化SQL步骤
作者: Peak Wong, 出处:IT专家网, 责任编辑: 李书琴,
2008-03-17 10:04
优化SQL的另一种思维系列文章是作者用了快一年的时间完成的SQL优化文章,它的原理实际上是通过分析SQL语句的执行计划来实现对整体SQL进行优化的,这是多年项目经验的总结,由于考虑到目前国内的Oracle部署还基本维持在Oracle 8 和Oracle 9的水平上,所以里面的模拟环境都是在Oracle 8.3下进行的,希望可以针对性更强一些。本文是系列连载的第七章中客户端程序优化SQL步骤篇。
《优化SQL的另一种思维》目录
五、ORACLE的执行计划
七、整体实例分析
【IT专家网独家】
简要说来,跟踪一个客户程序发出的SQL主要分成下面几步:
1) 识别要跟踪的客户端程序到数据库的连接(后面都用session代替),主要找出能唯一识别一个session的sid与serial#.
2) 设定相应的参数,如打开时间开关(可以知道一个sql执行了多长时间),存放跟踪数据的文件的位置、最大值。
3) 启动跟踪功能
4) 让系统运行一段时间,以便可以收集到跟踪数据
5) 关闭跟踪功能
6) 格式化跟踪数据,得到我们易于理解的跟踪结果。
现在就每一步,给出详细的说明:
1) 识别要跟踪的客户端程序到数据库的数据库连接
查询session信息(在sql*plus中运行):
| set linesize 190 col machine format a30 wrap col program for a40 col username format a15 wrap set pagesize 500 select s.sid sid, s.SERIAL# "serial#", s.username, s.machine, s.program, p.spid ServPID, s.server from v$session s, v$process p where p.addr = s.paddr ; |
如得到的一个查询结果如下:
| SID serial# USERNAME MACHINE PROGRAM SERVPID SERVER ---- ------- -------- ------------------ ------------- --------- --------- 8 3 SCOTT WORKGROUP\SUNNYXU SQLPLUS.EXE 388 DEDICATED LOGON_TIME ------------------ 2005.06.28 18:50:11 |
上面的结果中比较有用的列为:
sid, serial# : 这两个值联合起来唯一标识一个session
- 本文关键词:

