Oracle中SQL优化原理分析.docVIP

Oracle中SQL优化原理分析.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle中SQL优化原理分析,基于oracle的sql优化,oraclesql优化,oraclesql优化培训,oraclesql性能优化,oraclesql优化方法,oraclesql优化工具,oraclesql优化案例,oraclesql语句优化,oraclesql优化视频

Oracle中SQL优化原理分析 摘要:对于SQL语句优化,因为会有成千上万条SQL语句访问Oracle数据库,所以这是最费时间的调整操作。所谓的SQL语句优化就是选择最有效的执行计划来执行SQL语句的过程。本文对Oracle中SQL的优化原理进行了分析。br  关键词:Oracle;优化;SQLbr       br  1数据库优化的必要性br  br  随着数据库技术应用越来越广泛,用户日益增长,使数据量越来越大,且伴随数据挖掘、数据分析不断深人,数据处理也越来越复杂,庞大数据量加上复杂数据处理过程,使数据库服务器经常超负荷运作,甚至出现死锁现象,严重影响使用效果,若不注重SQL 查询优化策略,往往在系统投人初期使用时查询反应迅速,使用流畅,但随着数据库表中记录数据量越来越大,系统响应速度越来越慢,甚至无法正常响应,就可能导致系统可用性降低,失去实用价值。因此,科学地构造数据库结构,合理使用查询语句及查询方法,是成功开发和应用数据库系统重要环节,对于SQL语句优化,因为会有成千上万条SQL语句访问Oracle数据库,所以这是最费时间的调整操作。所谓的SQL语句优化就是选择最有效的执行计划来执行SQL语句的过程,这是在处理任何数据的语句(SELECT,INSERT,UPDATE或DELETE)中的一个重要步骤。总体上讲,就是需要识别出最常用的SQL语句,通过仔细审查SQL的执行计划以及使用Oracle提示(HINTS)调整执行计划来调整各个语句。本文就优化Oracle数据库SQL原理做一些分析。br  br  2SQL优化目标br  br  一般来说,Oracle的应用分为两种类型:联机事务处理(OLTP),决策支持系统(DSS)。根据应用类型的不同,性能优化的目标有所不同:br  2.1在线事务处理(OLTP=OnlineTransactionProcessing)br  该类型的应用是高吞吐量,插入、更新、删除操作比较多的系统,这些系统以不断增长的大容量数据为特征,它们提供给成百用户同时存取。OTLP的主要目标是可用性、速度、并发性和可恢复性。br  当设计这类系统时,必须确保大量的并发用户不能干扰系统的性能。还需要避免使用过量的索引与Cluster表,因为这些结构会使插入和更新操作变慢。br  此种类型的应用程序把吞吐量定义为性能指标。br  2.2决策支持系统(DSS=DecisionSupportSystem)br  该类型的应用将大量信息进行提取形成报告,协助决策者作出正确的判断。典型的情况是:决策支持系统将OLTP应用收集的大量数据进行查询。典型的应用为客户行为分析系统。br  决策支持的关键目标是速度、精确性和可用性。br  该种类型的设计往往与OLTP设计的理念背道而驰,一般建议使用数据冗余、大量索引、Cluster表、并行查询等。br  此种类型的应用程序把响应时间定义为性能指标。br  用户的应用系统属于典型的决策支持系统,用户需求的关键就是尽量减少应用程序的查询响应时间。br  3DML语句的处理原理br  用户的应用系统的主要工作就是使用DML语句对数据库进行查询,要对SQL查询语句进行优化,就必须对DML语句的处理原理有所了解。br  DML语句的处理一般分9步:br  第1步:创建游标(Create a Cursor)br  由程序接口调用创建一个游标(Cursor)。任何SQL语句都会创建它,特别在运行DML语句时,都是自动创建游标的,不需要开发人员干预。多数应用中,游标的创建是自动的。然而,在预编译程序Pro*C)中游标的创建,可能是隐含的,也可能显式的创建。在存储过程中也是这样的。br  第2步:分析语句(Parse the Statement)br  在语法分析期间,SQL语句从用户进程传送到Oracle,br  SQL语句经语法分析后,SQL语句本身与分析的信息都被装入到共享SQL区。在该阶段中,可以解决许多类型的错误。br  语法分析分别执行下列操作:翻译SQL语句,验证它是合法的语句,即书写正确;实现数据字典的查找,以验证是否符合表和列的定义;今在所要求的对象上获取语法分析锁,使得在语句的语法分析过程中不改变这些对象的定义;验证为存取所涉及的模式对象所需的权限是否满足;决定此语句最佳的执行计划;将它装入共享SQL区;对分布的语句来说,把语句的全部或部分路由到包含所涉及数据的远程节点。br  以上任何一步出现错误,都将导致语句报错,中止执行。br  只有在共享池中不存在等价SQL语句的情况下,才对SQL语句作语法分析。在这种情况下,数据库内核重新为该语句分配新的共享SQL区,并对语句进行语法分析。进行语法分析需要耗费较多的资源

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档