文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 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日 作者: 查看:[大字体 中字体 小字体]


  每种类型的语句都需要如下阶段:
  ·        第1步: Create a Cursor     创建游标
  ·        第2步: Parse the Statement  分析语句
  ·        第5步: Bind Any Variables    绑定变量
  ·        第7步: Run the Statement    运行语句
  ·        第9步: Close the Cursor     关闭游标

  如果使用了并行功能,还会包含下面这个阶段:
  ·        第6步: Parallelize the Statement   并行执行语句

  如果是查询语句,则需要以下几个额外的步骤,如图 3所示:
  ·        第3步: Describe Results of a Query   描述查询的结果集
  ·        第4步: Define Output of a Query      定义查询的输出数据
  ·        第8步: Fetch Rows of a Query        取查询出来的行

  下面具体说一下每一步中都发生了什么事情:.

  第1步: 创建游标(Create a Cursor)


        由程序接口调用创建一个游标(cursor)。任何SQL语句都会创建它,特别在运行DML语句时,都是自动创建游标的,不需要开发人员干预。多数应用中,游标的创建是自动的。然而,在预编译程序(pro*c)中游标的创建,可能是隐含的,也可能显式的创建。在存储过程中也是这样的。

  第2步:分析语句(Parse the Statement)
 
  在语法分析期间,SQL语句从用户进程传送到Oracle,SQL语句经语法分析后,SQL语句本身与分析的信息都被装入到共享SQL区。在该阶段中,可以解决许多类型的错误。

  语法分析分别执行下列操作:
l        翻译SQL语句,验证它是合法的语句,即书写正确
l        实现数据字典的查找,以验证是否符合表和列的定义
l        在所要求的对象上获取语法分析锁,使得在语句的语法分析过程中不改变这些对象的定义
l        验证为存取所涉及的模式对象所需的权限是否满足
l        决定此语句最佳的执行计划
l        将它装入共享SQL区
l        对分布的语句来说,把语句的全部或部分路由到包含所涉及数据的远程节点
      
  以上任何一步出现错误,都将导致语句报错,中止执行。

  只有在共享池中不存在等价SQL语句的情况下,才对SQL语句作语法分析。在这种情况下,数据库内核重新为该语句分配新的共享SQL区,并对语句进行语法分析。进行语法分析需要耗费较多的资源,所以要尽量避免进行语法分析,这是优化的技巧之一。

  语法分析阶段包含了不管此语句将执行多少次,而只需分析一次的处理要求。Oracle只对每个SQL语句翻译一次,在以后再次执行该语句时,只要该语句还在共享SQL区中,就可以避免对该语句重新进行语法分析,也就是此时可以直接使用其对应的执行计划对数据进行存取。这主要是通过绑定变量(bind variable)实现的,也就是我们常说的共享SQL,后面会给出共享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