设为首页 - 加入收藏
您的当前位置:主页 > 学术研究 > 学术 > 正文

基于SqlServer数据库性能调整及优化的研究

来源:《数字技术与应用》 编辑:甄明 时间:2018-08-03

摘要:本文对SqlServer数据库性能调整及优化进行研究,介绍了数据库优化的重要性,指出了首先通过系统优化来提高SqlServer的整体性能,主要手段有优化索引、优化查询语句、增加冗余数据、分割表、分割数据库物理数据以及日志文件等手段。接下来又对硬件瓶颈进行分析,如何有针对性地升级硬件来有效提升SqlServer的整体性能,包括磁盘IOPS性能、磁盘吞吐量、CPU并发性能、系统内存、网络带宽五个方面。

关键词:SqlServer数据库;系统优化;性能调整

中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2018)04-0040-02

随着信息系统的普及,越来越多的公司使用ERP、WMS、OA等现代化信息系统管理业务流程,这些系统无一例外地依赖数据库做支持。数据库系统的性能直接影响着整体信息系统的性能。随着系统长时间的运转,很多企业出现了数据库性能下降,系统运行以及查询出现缓慢的情况,如果盲目升级硬件,往往支出与收效不成正比,只有针对性地进行优化与升级才能起到事半功倍的效果。本文对SqlServer数据库系统的优化措施进行探索和研究,从软件和硬件两个方面进行分析,在提高SqlServer数据库系统性能的同时,以最小的风险和成本,达到系统优化的目的。

1 SqlServer数据库的系统优化

在Sqlserver数据库使用中,如果出现查询、更改数据性能低下等情况,应首先分析是否能够通过系统的优化来解决。

1.1 优化索引

优化索引是加快数据库查询速度的方法,随着业务查询的增加,索引也应该进行相应地进行调整,尽量避免全表扫描。但索引也不是加的越多越好,增加索引虽然提升了查询速度,但也会降低数据插入的速度。因此需要对正在使用的查询进行分析,使索引与程序整体结合起来,才能产生最佳的优化方案提升查询速度。

同时还需要关注索引的碎片问题,随着数据库使用伴随的增删操作,会产生索引碎片,降低查询的性能。当碎片程度小于20%时通常无需处理,当碎片程度在20%-40%之间时建议重组索引,当碎片程度大于40%时建议重建索引,来提升查询性能。

1.2 优化查询语句

通过查看SqlServer活动监视器,能够分析近期占用资源比较大的查询,然后优化查询语句的执行效率,尽量避免在where条件中使用null判断,like模糊、不必要的表连接、不必要的条件判断等耗时的操作。

1.3 增加数据冗余

对于经常进行增改的表,增加一个只读的冗余備份,能够有效避免Lock锁引发的性能问题,提升并发性能;对于经常使用的统计值,单独建立数据库表,进行数据落地,能够大幅缩减每次计算的时间。

1.4 分割表

对于数据量很大的表,可以根据使用需求的不同,考虑按年、按类型等等手段进行分割,避免单个表过大影响读写性能,大幅提升查询筛选的效率。

1.5 分割数据库物理数据以及日志文件

对于使用频率很高的数据,可以根据数据类型进行分割,将不同的数据库数据文件、数据库Log日志文件、数据库临时文件分离到不同的磁盘上,能够进一步减少磁盘IO的延迟,提升数据库的物理读写性能。

2 SqlServer数据库的硬件优化

当系统优化已难以提升SqlServer数据库的性能时,很可能是硬件瓶颈影响了整体效能。

2.1 磁盘IOPS性能

当下数据中心普遍采用的依然是机械磁盘阵列,机械磁盘的缺点是随机读写的性能较低,通过监测磁盘读写延迟,能够有效发现是否发生磁盘读写性能瓶颈,当发生磁盘瓶颈以往普遍采用堆叠磁盘的方式提升性能,往往需要几十块甚至数百块机械磁盘的堆叠,不但占用大量机柜空间,同时发热量耗电量都不低,性能提升的效果往往也不显著。

随着固态磁盘阵列技术日趋成熟,通过使用固态磁盘阵列往往能达到立杆见影的效果。单块固态硬盘的8K随机读写IOPS普遍是SAS硬盘的50倍甚至更高,而SqlServer的存储页面即8K字节,8K随机读写直接决定了SqlServer数据库存取硬盘时的性能。

2.2 磁盘吞吐量

通过监测SqlServer数据库的数据流量能够断定是否发生磁盘吞吐量瓶颈,通过增加HBA卡通路,提高数据吞吐量,能够大幅减小光纤通道的队列深度,提高Sql任务的执行速度。

2.3 CPU并发性能

当监测SqlServer数据库运行的CPU占用率,长时间处于满载运行的状态时,通常就是同时并发执行的任务过多导致CPU产生瓶颈,此时通过增加CPU逻辑核心能够大幅增加SqlServer同时执行任务的能力。

2.4 系统内存

当系统内存发生瓶颈时,SqlServer数据库系统会频繁读写磁盘进行数据交换,大幅加重磁盘负担,影响系统的整体性能。此时扩充系统内存能有效提升系统运行的效能。

2.5 网络带宽

大数据分析往往对带宽有很高的要求,如果网络延迟时间过大那么就是网络带宽出现瓶颈。当网络带宽发生瓶颈,同时也难以有效进行数据压缩和数据分布时,提升网络带宽就成了最好的解决方法,通过提升网络带宽,能够有效解决网络数据拥堵,降低网络延迟时间,提升数据存取的效率。

3 结语

本文通过对基于SqlServer数据库性能调整及优化的研究,指出了为了提升了Sqlserver数据库的整体性能,提高工作效率,应当进行数据库优化。本文对从系统优化与硬件优化两个方面,对提升SqlServer性能进行较为详尽的阐述,指明了SqlServer数据库的优化方向。

参考文献

[1]赵颖,沈金龙.基于SQL Server的应用程序的优化[J].电子工程师,2000,(05):7-9.

[2]楚书来,肖尧.对SQLServer中查询优化的几点思考[J].计算机光盘软件与应用,2013,(02):186+188.

[3]郭晓丹.基于Oracle数据库系统性能调整与优化研究.数字技术与应用,2015,(05):107.

标签: 应用研究 甄明

网友评论:

栏目分类

Copyright © 2017-2018 就爱文摘网. Power by 92wenzhai

Top