APP下载

SQL SERVER数据库性能调整与优化

2016-07-04马孝贺+李莎

电脑知识与技术 2016年15期
关键词:数据库系统语句应用程序

马孝贺+李莎

摘要:微软的SQL Server数据库系统,因其各种优点在软件系统市场上占有比较大的比例,但是数据库在使用过程中也会出现多种可以导致服务器运行速度变慢或降低数据访问效率的事件发生。文章从多个方面讲述了SQL Server数据库系统调整和优化策略,可以有效提高数据库的查询速度。

关键字:SQL Server;应用程序;B/S;数据复制

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)15-0012-02

基于微软的SQL Server数据库系统,是目前很多软件所使用的数据库,其功能强大,而且兼容性能较好,适用于大多数的软件开发系统。但是,任何一个数据库系统在操作较长一段时间后,都可能存在一定的性能问题,这个性能问题包括多个方面,主要涉及数据库的内存、操作系统、参数设置、操作应用程序及硬件等多个方面。因此,就像操作系统一样,在一个数据库系统运行一段时间后,对其进行优化对整个软件系统的正常运行起着非常重要的作用,可以有效促进软件系统的稳定性、可用性和高效性,节约系统开销,解决系统瓶颈。

1 性能调整与优化概述

性能调整是指的对系统的相关参数、应用程序、软硬件系统进行优化,从而可以有效改变系统性能的一种活动。对数据库系统的性能优化及调整主要包括对软硬件配置、操作系统及数据库管理系统的配置进行优化,还包括对访问这些配置的应用程序的分析与了解。

对数据库性能是否优秀的判定标准主要是看这个数据库各个性能指标,一个数据库的性能指标主要包含以下几个部分:事务处理所占用的系统资源、事件的响应时间以及CPU的时间量。性能并不是一成不变的,而是随着使用的时间和环境的变化而变化。数据库系统的性能受使用应用程序、本身的体系结构和硬件设备性能及连接数目及资源等多个方面的影响。

所谓性能调整,就是通过优化提高系统的高效性,消除系统使用瓶颈。一个系统是否高效,主要是看他的瓶颈,因为这个是系统性能限制的主要决定因素,可能是软件,也可能是硬件部分。如果系统的瓶颈限制过大,则对数据库系统的访问和存储及更新都有很大影响,减少系统瓶颈,可以将一个系统性能最大程度的发挥。为了有效去除系统瓶颈,对性能进行调整,必须采取一定的步骤和方法去调整所有和性能相关的组件,包括应用调整和SQLServer。

2 应用调整

对数据库的性能优化来说,最有可能导致数据库性能产生变化的就是应用软件的影响。应用调整相对于硬件来说更容易做到监控和修改,也更容易显示出效果来。应用的调整和优化也可以影响到数据系统的后续步骤的调整,有效地减小系统开支,使普通的应用程序不至于占用太多的系统资源。应用调整一般来说是对SQL SERVER性能调整的第一步,也是关键的一步,主要包括应用程序调整、页面应用调整、数据库查询语句调整等多个因素。

1)SQL语句优化

数据库性能优化中,标准查询语句(SQL)的优化可以有效提高数据查询、更新、插入的执行效率。低效率的数据库查询语句,往往会占用过多的资源并访问过多的数据库,从而使系统的响应时间变长,严重影响系统的性能。通过优化SQL语句,改变数据库查询方法或途径,可以有效提高系统的性能。数据库系统的应用最多的就是将数据库的数据显示出来,这离不开数据库的查询语句,这也是影响系统性能最关键的一个步骤。微软的SQL Server本身提供了数据库的查询和优化方法,对常用的数据库查询语句进行分析,可以找到最佳的查询语句,从而可以减少输入/输出次数,提高执行效率。但是微软提供的查询优化器很难能够完全解决查询语句的优化,比如语义方面的问题等。

2)B/S 模式优化

目前很多软件的开发模式都采用了基于B/S的模式,在这种模式下,用户端无须在安装多余的软件,服务器将后台处理的数据通过HTTP协议传输到客户端。这种做法实际上减轻了前端客户机的工作量,而将更的计算负载交给了数据库服务器,所以在这种模式下对数据库进行优化可以取得不错的效果,一般情况下采取以下的优化策略。

Web应用程序优化:

在B/S架构的软件模型中,对数据库系统的访问是来自前端的数据库查询语句,所以Web应用程序优化也主要表现在对大量查询语句的优化上,除了使用查询优化器进行优化外,还要注意的查询方法的基本操作原则就是,数据查询要尽量少的涉及相关的数据库和数据量,并且随着查询的进行,查询语句要操作的数据量要迅速减小,并快速地显示出来,这样才不至于系统响应时间过长。

Web服务器优化:

对Web服务器的优化中,主要是对前端应用程序对数据库的访问做一定的限制,由于在B/S结构的系统中,客户访问服务器的访问量很大,所以要对长期要求占用系统资源的客户应用程序进行限制,以免出现服务器只为很少的客户服务,而大量的服务在排除的现象发生。

运算负载与网络分配:

在实际应用过程中,数据传输是不均衡的,有些网络节点传输的数据多,有些网络节点传输的数据少。对于持续进行大量数据传输的网络节点来说,他需要对数据库系统经常性访问,可以考虑将其使用的网络与其他网络分割开来,这样就不会影响其他的用户访问。对于有大量数据进行传输的应用来说,可以适当增加网络包大小,以减少网络传输次数。

3)对内存的有效管理

数据在计算机中处理,并不是在数据实际存储的空间进行处理的,而是将数据调入到内存中进行处理,这是因为内存的速度要远大于外存储设备的存取速度。提高数据存取性能的最直接的方法就是增大物理内存,但是目前内存的大小还是有比较大的限制,所以如何合理利用内存更有效的处理数据成了内存有效管理的最有效的方法。在数据库中高速缓存可以分成两种,一种是数据调整缓存,一种是过程高速缓存。数据高速缓存主要早用来存储数据、日志、索引有数据库对象,而过程高速缓存主要用来存储查询计划,触发器等。

高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。正常情况下高速度缓存应该占数据库内存的20%,但是这个值应该随着系统或数据传输的要求而不断调整,对于要求较高的应用程序或服务可以适当增加其高速缓存的比例。

可以将经常使用的数据库或数据表固定到数据调整缓存上,这样可以大大提高数据的查询和处理速度。

4)充分利用临时数据库

在数据使用过程中,为了提高数据库的利用效率,会对查询产生的结果数据进行第二次使用,这个查询的结果数据往往被存储为临时数据库,这个临时数据表可以被多个用户所共享使用,如果对临时数据进行充分利用,可以大大提高数据库的查询效率。通过以下步骤对临时数据库进入处理,可以提高其性能。

临时数据库的容量是可以定义的,扩大临时数据库的容量可以有效增加数据处理量。

可以将临时数据库保存下来,存储在独立的物理介质上,从而可以单独调用。

如果临时数据库经常被访问,可以考虑将其放面高速缓冲区,以减少数据对磁盘的访问次数,提高数据执行效率。

3 SQL SERVER调整

SQL SERVER调整与硬件调整是紧密相关的,是对数据库服务器的性能调整。通过修改SQL Server的配置参数(configuration parameter), SQL SERVER调整包括改变它分配资源的方法以及它的工作方式。有些配置参数与资源的使用有关,有些则无关。那些与资源使用有关的参数紧密地依赖于系统中可用的硬件资源。这些参数必须基于系统中可用的硬件资源的类型与数量进行修改。例如,一个具有多处理器的系统,如对称多处理器((SMP)系统,使用多个SQL SERVER线程(进程)的效果要比使用单处理器的系统工作得更好。具有许多可用内存的系统应该调整SQL SERVER,以充分利用这些附加的内存。应该修改输入/输出((I/O)参数,以充分利用系统中所拥有的I/O系统类型。SQL SERVER调整与硬件调整包括为需求的工作量提供足够的系统资源。总的说来,SQL SERVER调整涉及服务器硬件调整、数据库优化设计、SQL SERVER配置参数调整等内容。

数据复制优化:

当今世界数据的传输量越来越大,而且应用程序的分布式计算程度越来越大,所以数据传送给用户过程的网络就往往成了传送的瓶颈。在数据传输中,数据库管理员对网络带宽或网络传输的管理做不到严格控制,所以只能对数据库本身进行优化来减少数据传输量。减少网络的传输流量并不是减少数据的传送量,而是减小数据包数量大小。在数据库查询中,对远程数据库的查询有的时候会经过几个服务器的数据传输,应该尽量减小从一个数据库到另一个数据库的传输流量,不同的数据的复制选项会有效减少网络之间的数据传输量。

如图1所示,这是一个分布式的数据库环境,数据分别存储在不同的位置,当客户终端要发生数据访问时,便会有数据从一个数据库链接流向另外一个数据库。当前的数据库存储形式,特别是移动数据库的存储,都是完全支持分布式的数据库,数据库的访问不像以前那样在一个服务器把对数据的操作全部完成。对数据库之间数据流动采取的是数据复制的形式,事务处理往往在服务器和移动终端两个方面进行。

在数据处理中,如果所有的数据都是标准的数据结构,都是统一的数据格式,则数据处理起来就方便很多,可以通过多个数据库的跳转直接访问,但是目前的数据特别是动态数据,很多都是非标准的数据,在数据库存储和访问非常冗长的数据的时候,往往要采数据复制的方式来缩短用户访问数据的有效路径。数据复制无需通过网络来完成数据库的查询功能,只要把远程的数据复制到本地再来完成对数据的操作。

参考文献:

[1]许平格.数据库管理系统中查询优化的设计和实现[D].浙江大学,2005.

[2] 刘启原,刘冶. 数据库与信息系统安全[M].科学出版社,2011

[3] 微软.SQL SERVER 2010企业版的安装、配置和管理[M].高等教育出版社,2013.

[4] SQL Server数据库性能优化技术http://www.ittianxia.cn/html/database/MSSQL/20070413/11219.html.

猜你喜欢

数据库系统语句应用程序
基于机械加工工艺规程的切削数据学习系统的建立
谷歌禁止加密货币应用程序
数据库存储系统的相关设计及解决方案
基本算法语句
我喜欢
三星电子将开设应用程序下载商店
作文语句实录
微软软件商店开始接受应用程序