论文部分内容阅读
医院信息系统数据库具有数据吞吐量大,数据操作频繁,数据繁杂庞大,且要求能高效、及时、准确进行数据处理等特点。因此如何对数据库性能进行优化设计,即提高数据库的吞吐量、减少用户等待时间具有重大意义。本文基于应用于医院信息系统的Oracle数据库系统,详细介绍了在数据库设计阶段如何避免竞争和如何优化数据访问,在数据库运行阶段如何从操作系统和数据库实例级别上调整内存和I/O来达到数据库性能优化的各种技术。
本文根据目前运行中的医院信息系统现状进行分析,并从Oracle体系结构出发,列出可能与性能有关的各个要素,并将其归类成体系结构、存储结构、对象结构、SQL语言等大项。在体系结构方面,对内存区中的系统全局区及程序全局区进行合理的组织与分配,确定合理的命中率,这是性能优化的关键,各种命中率是核心,本文写出在SQL<*>PLUS环境下求命中率大小的SQL语言,并在现有数据库中进行命中率数据的采集工作;Oracle存储结构采用互为关系的逻辑存储结构与物理存储结构,故确定其中的表空间、数据文件、控制文件的大小是性能优化的基础;对数据库对象结构中的索引、簇、视图、存储过程等进行合理的设计,会对大型数据库的性能有着重要的影响,这其中又着重分析了数据库对象中的索引与视图,对两者的底层工作原理进行探讨,并总结使用这些数据库对象时的一些原则;然后在SQL/PLUS环境下汇总几种SQL语言效率不高的原因,提出SQL语句优化的原则和Oracle优化器的工作原理;最后是作者在北京天坛医院工作学习中,反复实践总结出的一些有关SOL语言的使用规则,在测试服务器及主机上分别进行了测试,通过对SOL语句更合理高效的组织以提高一些语句的运行效率,并列出了优化前后的系统花费时间对比。