文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程数据库通过分析SQL语句的执行计划优化SQL(一)
精品推荐
特别推荐
·用户登录存储过程
·SQL数据库完全使用手册
·进阶:精妙SQL语句介绍
·sql删除记录
·学习SQL语句之SQL语句大全
·数据备份失败的五个原因及解决办法
·解决SQL Server常见的七个经典问题
·SQL存储过程的概念,创建,调用,管理,删除,优点
热点TOP10
·SQL 新增/修改 表字段列的类型等
·MSSQL 通用分页存储过程的源码共享
·SQL数据库高级教程:学习 SQL Alias(别名)
·SQL数据进行排序、分组、统计10技巧
·讲述如何使用SQL CLR表值函数进行扩展
·轻松34步使你的 SQL 语句完全优化
·Discuz存在SQL注入漏洞会员可提升权限
·用SQL分布式管理对象创建数据库备份

通过分析SQL语句的执行计划优化SQL(一)

日期:2008年5月18日 作者: 查看:[大字体 中字体 小字体]


  为调整你已有的系统,遵从下列步骤:
l        调整操作系统的硬件和软件
l        通过查询V $SESSION_WAIT视图,识别性能的瓶颈,这个动态性能视图列出了造成会话(session)等待的事件。
l        通过分析V $SESSION_WAIT中的数据,决定瓶颈的原因。
l        纠正存在的问题。

  监控应用系统

  这主要是通过监控oracle的动态视图来完成。各种有用的动态视图:如v$session_wait, v$session_event等。


  第2章 有效的应用设计
       
  我们通常将最常用的应用分为2种类型:联机事务处理类型(OLTP),决策支持系统(DSS)。

  联机事务处理(OLTP)
     
  该类型的应用是高吞吐量,插入、更新、删除操作比较多的系统,这些系统以不断增长的大容量数据为特征,它们提供给成百用户同时存取,典型的OLTP系统是订票系统,银行的业务系统,订单系统。OTLP的主要目标是可用性、速度、并发性和可恢复性。当设计这类系统时,必须确保大量的并发用户不能干扰系统的性能。还需要避免使用过量的索引与cluster 表,因为这些结构会使插入和更新操作变慢。

  决策支持(DSS)
       
  该类型的应用将大量信息进行提取形成报告,协助决策者作出正确的判断。典型的情况是:决策支持系统将OLTP应用收集的大量数据进行查询。典型的应用为客户行为分析系统(超市,保险等)。决策支持的关键目标是速度、精确性和可用性。该种类型的设计往往与OLTP设计的理念背道而驰,一般建议使用数据冗余、大量索引、cluster table、并行查询等。近年来,该类型的应用逐渐与OLAP、数据仓库紧密的联系在一起,形成的一个新的应用方向。

  第3章  SQL语句处理的过程

  在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。
本节介绍了SQL语句处理的基本过程,主要包括:
  ·        查询语句处理
  ·        DML语句处理(insert, update, delete)
  ·        DDL 语句处理(create .. , drop .. , alter .. , )
  ·        事务控制(commit, rollback)

  SQL 语句的执行过程(SQL Statement Execution)
            
   图3-1 概要的列出了处理和运行一个sql语句的需要各个重要阶段。在某些情况下,Oracle运行sql的过程可能与下面列出的各个阶段的顺序有所不同。如DEFINE阶段可能在FETCH阶段之前,这主要依赖你如何书写代码。

  对许多oracle的工具来说,其中某些阶段会自动执行。绝大多数用户不需要关心各个阶段的细节问题,然而,知道执行的各个阶段还是有必要的,这会帮助你写出更高效的SQL语句来,而且还可以让你猜测出性能差的SQL语句主要是由于哪一个阶段造成的,然后我们针对这个具体的阶段,找出解决的办法。

  图 3-1  SQL语句处理的各个阶段

  DML语句的处理
      
  本节给出一个例子来说明在DML语句处理的各个阶段到底发生了什么事情。假设你使用Pro*C程序来为指定部门的所有职员增加工资。程序已经连到正确的用户,你可以在你的程序中嵌入如下的SQL语句:
EXEC SQL UPDATE employees
SET salary = 1.10 * salary WHERE department_id = :var_department_id; var_department_id是程序变量,里面包含部门号,我们要修改该部门的职员的工资。当这个SQL语句执行时,使用该变量的值。

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页 



上一篇:mysql 4.1采用了新验证方法后的认证问题

下一篇:通过分析SQL语句的执行计划优化SQL(二)

相关文章:
·奇门遁甲算法分析
·光盘卫士 V1.8算法分析
·鲜为人知的Windows XP优化
·关于本地传输网络优化的问题浅析
·菜鸟必看:WinXP终极优化
·优化XP系统变量 道理在四个寓言故事中
·Flash教程:用Flash分析制作动态日历效果
相关软件:
·Windows优化精灵 V1.1
·卡耐基 心灵改造计划(上集)
·聪慧幼儿园营养分析软件v6.2
·属相分析大师 V1.0
·特别计划(Special Project Y)
·飞鹰计划(Blood Bros)
·英语句子听说大师 V2.014

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot