CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

优化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的另一种思维目录

  一、性能调整综述

  二、有效的应用设计

  三、SQL语句处理的过程

  四、ORACLE的优化器

  五、ORACLE的执行计划

    背景知识

    访问路径(方法) -- access path

    表之间的连接

    如何产生执行计划

    如何分析执行计划

    如何干预执行计划 - - 使用hints提示

    具体测试实例

    具体案例分析

  六、其它注意事项

  七、整体实例分析

    客户端程序优化SQL步骤

    tkprof程序整体实例解说

  【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

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i