- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12 数据库管理和性能调优
第12章 数据库管理和性能调优 12.1 数据库管理引论 数据库设计还是纸面上的成果,要建成一个可运行的数据库,为实际应用服务,还要做大量的设置、维护和管理工作。这些工作主要有: (1)熟悉DBMS及其运行的硬、软件环境; (2)熟悉数据库的主要用户及典型的应用程序; (3)选定DBMS的初始参数,合理配置各种资源; (4)作为系统自动授权的首批用户,DBA启动DBMS,并按 (3)中选定的参数,初始化数据库; (5)用DBMS提供的测试数据库实例测试DBMS,并对初始化参数进行必要的调整; (6)按数据库的设计,用DDL语言定义数据模式,扩充由系统自动生成的初始数据目录; (7)加载用户的数据,并按数据库设计建立索引; (8)接纳非DBA用户,并与他们一道测试应用程序; (9)数据库投入实际运行,开始对外服务; (10)DBA继续维护、管理数据库。 性能是从数据库诞生起就存在的问题,迄今仍然是数据库系统的关键问题之一。 在一定的资源条件下,尽可能满足用户对服务及时性的要求。 数据库性能是贯穿数据库整个生存周期的全局课题。 响应时间和吞吐率是衡量性能的两个既有关联、又有区别的指标。 必须对事务执行的全过程和影响其性能的各种因素有全面的了解和分析,并择其中影响大的执行环节,采取调优措施。 数据库系统是一个服务系统,其性能不仅取决于数据库系统本身,而且与它所服务的应用系统以及应用系统与数据库服务器的连接有关。 12.2 数据库性能概论 数据库系统的基础设施 处理机及其内存系统、外存储器系统、操作系统以及与其连接的网络系统。 DBMS及其配置 应用系统与数据库服务器的连接 存储器系统—RAID SQL的编译执行和解释执行 — Oracle SQL sharing DBMS及其配置 I/O瓶颈 原则上,凡是需要重复访问的数据和程序都可以在内存中保留一段时间—库缓冲区。 数据目录缓冲区 I/O缓冲区(I/O buffer cache) 后像缓冲区(redo log buffer cache)和后像文件(redo log file)。Oracle10.2建议初始设置不超过0.5MB。 应用系统的规划、设计与开发 数据库性能调优不仅是DBA的事,应用程序设计者也要承担其责任。 12.3 系统结构与性能调优 以SAN为中心的计算机系统 含有两类设备,即处理机(包括CPU及内存)和存储设备。它们彼此间没有从属关系,可以通过SAN按客户/服务器关系形成一或多个计算机系统。 共享缓冲区 Oracle“Real Application Clusters”,简称RAC GRID Egenera虚拟计算机系统介绍 Oracle 10g网格体系结构 12.4 应用程序设计与性能调优 数据库设计 数据模式、索引 设置索引惟一的目的是为了提高查询效率,可是任何索引都有不利于数据库性能的“副作用”。 可以用EXPLAIN PLAN语句查看其执行计划。要结合对应用需求的了解和查询优化器实现的掌握,合理设置索引。 网络连接 应合理配置足够的网络资源、简化传输协议消除连接中可能出现的瓶颈 还要在设计应用程序时注意节约网络资源,特别减少连接和对话次数 尽可能不用数据库的人机交互接口 避免用游标逐行传送查询结果。例如Delphi中table控件和query控件之差别 SQL程序设计 很多DBMS目前已提供了共享SQL程序的手段,关键在于统一认识和严格实施。 对应用程序设计者的主要要求就是参数要用命名一致的赋值变量表示。 合理使用事务——事务隔离级别 应用程序本身数据结构、算法的优化,窗口显示处理的优化。如处理完一屏即显示而不是处理完所有内容再显示 … … 12.5 SQL调优 12.5.1 SQL调优与查询优化器 摸透查询优化器的“脾气”,“投其所好”,“避其所忌” 用提示语句影响查询优化器拟订执行计划 模透查询优化器的“脾气” 如有些查询优化器对于连接操作,一般按连接对象在FROM子句中出现的先后次序进行连接 则应小表放在前面,大表放在后面 又如在有些查询优化器中,凡是查询条件用OR连接的,就一概不用索引 设法改写,使用UNION ALL SELECT * FROM STUDENT WHERE YEAR(BDATE)=1980 OR HEIGHT>=1.80; 在上面的SQL中,即使在属性HEIGHT和函数YEAR(BDATE)上建有索引,查询优化器也不会用这些索引。改写: SELECT * FROM STUDENT WHERE YEAR(BDATE)=1980 UNION ALL SELECT * FROM STUDENT WHERE HEIGHT>=1.80; 模
文档评论(0)