Oracle查询性能提升全集.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle查询性能提升全集  摘要:为了提高数据库应用的性能,减少用户的等待时间,有必要对查询速度进行优化。本文以Oracle数据库为例,首先分析了影响Oracle数据查询速度的各种因素:数据库配置、数据库设计、应用程序的优化,然后基于这些因素提出了优化查询速度的方法,最后通过优化方法举例介绍了实际软件项目中应用的优化方法和策略。   关键词:查询;SQL优化;Oracle;DBA   中图分类号:TP311文献标码:A 文章编号:1009-3044(2007)05-11208-03      1 引言   大型数据库系统中往往要用到查询统计,但是对于数据量大的系统,用户在进行复杂的查询统计时往往感到速度很慢,不能满足应用要求,这就要求我们在设计数据库系统时进行合理设置,提高查询统计的速度。本文结合笔者的项目开发经验,从数据库管理到应用开发中的优化来阐述具体的设置方法。      2 影响数据查询速度的因素   一个数据库系统是由数据库、用户、软件和硬件资源组成。数据库(DB)物理地存储用户的数据,数据库中的数据读写,完整性,并发性和安全性由数据库管理系统(DBMS)来控制。数据库应用开发人员可以使用前端开发工具开发数据库应用程序来完成用户的特定工作任务,从而简化了用户与数据库的交互。   一个数据库应用系统的生命周期可以分成:设计、开发和成品三个阶段。这三个过程对应数据库的建立,数据库表结构的设计和应用程序的开发。同时对应不同的阶段又有不同的数据库用户,他们直接或间接地参与到数据库应用系统的开发中,所以这些人的工作方法和经验直接影响到数据库应用系统的性能。   在一个数据库系统中主要分为四类用户:数据库管理员(DBA),数据库设计员,应用程序开发维护人员,终端用户。这四类用户中除了终端用户通过数据库应用系统间接操作数据库中的数据外,其它人员都直接与数据库进行交互,也是影响数据库应用系统性能的主要因素。下面我们就从这三个用户的日常工作来分析影响数据库查询效率的因素。   2.1 数据库管理员(DBA)   数据库系统需要专人负责数据库的安装、监控、数据备份与恢复,这个任务必须由对操作系统比较熟悉的人来承担,这也是日常人们常说的数据库管理员(DBA)。   由于数据库管理员(DBA)直接管理数据库服务器,直接安装配置数据库运行的软硬件环境,所以数据库管理员(DBA)是对数据库系统进行性能优化的第一步。抛开硬件和操作系统管理,就数据库管理系统(DBMS)来讲,就有很多学问。   从数据库管理系统安装到操作系统上,就与数据库系统性能关系密切。从Oracle的安装来说,数据库软件安装目录与数据库文件位置要放在不同的盘区或磁盘上,这样既便于管理又可以使数据库结构和性能最优。其次,在安装数据库软件的过程中会建立一个数据库,在建立前,DBA要根据用户的应用特性选择合适的选项来建立数据库。比如:在Oracle9i中分为通用,事务处理,数据仓库,自定义等类型。要根据应用类型(到底是数据挖掘还是在线联机分析)来决定数据库建立的类型。最后,对于应用程序性能影响比较大的是数据表空间和数据回滚段的大小。Oracle默认数据表空间太小,一般企业级应用最少要达到500M,这样不会因数据增长时,自动增加表空间的大小,从而降低了数据库性能。其次,大量数据参与查询统计操作时,数据回滚段的个数和大小直接影响到数据的缓存大小。   回滚段数量的一般规律是根据用户数量来设置:   用户数 回退段个数   16以下 4   16-328   32以上用户数/4 但不能超过50 太多同样增加了系统管理负担   2.2 数据库设计人员   数据库设计人员一般在软件开发过程中负责数据表,视图各类实体的创建。对于人员较少的公司,也可以由数据库管理员来负责,这种现象在国内软件开发公司比较常见。数据库设计人员一要熟悉数据库管理知识同时要对用户的需求有很深的了解。所以,比起数据库管理人员主要负责数据的安全来讲,其更直接针对数据库应用程序进行相应的数据库实体设计。   基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,   往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,   达到以空间换时间的目的。   在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:   (1) 在数据库物理设计时,降低范式,增加冗余(不必要的冗余除外), 少用触发器, 多用存储过程。   (2) 某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK 的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,

您可能关注的文档

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档