浅谈数据库系统优化

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈数据库系统优化

概要:数据库系统的优化可以有效提高系统的性能,微软的SQL Server数据库的优化是一个系统工程,需要从设计开始就进入优化程序。

数据库的性能的优化成了数据处理的一个很重要环节。系统的性能优化应该贯穿系统工作的整个生命周期,从开发开始直到系统最终下线,都应该不断的动态的优化并不断调整优化过程。基于SQL Server的数据库优化是指对数据库处理、存储、查询等进行调优的过程。

基于SQL Serve数据库的优化,应该从数据库设计的时候就做好优化打算,为后面系统正式投入运行后优化做好准备。其主要策略有:

1)调优数据库。数据库性能的优化基础就是数据库的基本设计,如果设计端出了问题则对数据库的影响很大,也很有可能没有优化的必要。数据库的优化应该从数据库的设计开始,一般要找专业的性能优化专家根据系统的要求,对数据库采取合理的设计方案。数据库的设计主要包含两个部分,一个是数据库存储分配的物理设计,一个是数据流量分配的逻辑设计。物理设计主要包括数据对象在物理介质上存储分布等各个方面,所要注意的问题就是在不同的存储介质上所放的数据块的大小,这个直接关系到数据的存储速度。而逻辑设计主要包括在数据库的索引、数据库模式、视图等。数据库的设计是基础,如果在设计初始出了问题,则不可能通过单纯的优化来完成数据库的正常工作,所以这是数据库调整和优化的保障。

2)优化应用程序。网络中数据的查询和传输速度及效率不仅仅在于服务器,而是和多种因素相关联的,根据网络上的相关统计,对和数据库相关的各个外部因素进行调整,同样可以达到数据库性能优化的目的。相关因素主要包括,网络、操作系统、硬件、数据库参数等各个方面。而这因素大都设计硬件设备,其它软件方面主要是应用程序的优化,包括数据库的SQL语句和系统开发语言的优化。在数据库的应用中,大部分是通过SQL语句来实现的,因此SQL语句的优化对数据系统优化起到很重要的作用。

大多数针对系统应用程序的优化也都集中在查询语句的处理上,而SQL语句的优化则可集中到合理利用临时数据表及索引。充分利用临时数据表,及建立合理的索引、调整优化SQL语句,等可以减少客户访问数据库的次数,减小CPU

的占用时间,提高内存的利用率,减小系统响应时间,缩短用户等待时间等都有很重要的意义。

3)调整内存分配。内存对于数据存储和数据处理速度的影响很大,所以有效增大内存也是提高数据库系统性能的最有效方式,但是目前受制于硬件设备的影响,不可能对内存进行大量的扩充。对内存使用的原则就是优先给系统认为必要应用程序分配较大的内存,对数据库的优化就是优先分配足够内存给数据库系统,但是这也取决于操作系统对各个应用程序的分配。CPU在处理数据的时候,先从内存中读取数据,如果内存够大,则数据一次调入内存的数据量就较大,可以有效减少磁盘访问次数,内存的分配是在软件系统运行的时候进行配置的,所以其调整和优化应该安排在检查数据库文件的磁盘输入/输出之前。

4)调整磁盘I/O。数据库的存储和查询最终都得经过磁盘,所以对物理存储介质的读写是对数据库性能影响最大的,磁盘I/O操作也是消耗资源最大的一种操作。对磁盘I/O进行优化的主要目的和方法是尽量减少磁盘的读写次数,加大数据的一次处理量,提高数据存储的空间分配及管理。

1 基于SQL语句的优化器

优化器的类型。数据库在被访问的时候,都是执行SQL语句,在执行之前系统需要确定访问方式及执行的过程,在执行的时候是否使用数据索引,是否使用临时数据表,临时数据表有没有存储,存储在哪个物理介质模块上了。如果使用索引,使用哪些索引,在需要对多个数据表进行查询的时候采取的是哪个连接方式等,而这引起是由SQL Server数据库的优化器来完成的。对优化器的分类,主要包括两种情况,一种是基于代价的优化器,一种是基于规则的优化器。

1)基于代价的优化器。所谓基于代价的优化器是指,系统根据目前数据库的信息,对数据库的查询及操作的开资做一个判断,然后选出一个开资相对较小的优化方案。这种优化器主要是根据数据库相关的服务器的因素来进行分配处理的,包括缓存大小和策略,I/O 大小等。

2)基于规则的优化器。基于规则的优化器主要是根据制定的一些规则和一些优化原则来执行过程和访问控制方式。相对来说要比基于代价的优化器要更容易实现,不需要对硬件进行操作,根据规则和优化原则来制定各个访问控制策略的优先级别。这种优化器对数据库的分布存储及硬件设施没有特殊要求,只是根据规则进行优化,对数据索引、数据表等各个方面不关心,所以基于规则的优化器也只能是粗话型的优化,很难从根本上解决SQL Server数据库的优化问题。

2 结论

数据库系统的优化可以有效提高系统的性能,微软的SQL Server数据库的优化是一个系统工程,需要从设计开始就进入优化程序。

参考文献:

[1] 赵博,叶晓俊.OLAP性能测试方法研究与应用[J].计算机研究与发展,2011(10).

相关文档
最新文档