SQL系统优化
1 系统优化介绍
在我们的项目中,由于客户的使用时间较长或客户的数据量大,造成系统运
行速度慢,系统性能下降就容易造成数据库阻塞。这是个非常痛苦的事情,用户
的查询、新增、修改等需要花很多时间,甚至造成系统死机的现象。速度慢的原
因主要是来自于资源不足。
数据库的优化通常可以通过对网络、硬件、操作系统、数据库参数和应用程
序的优化来进行。最常见的优化手段就是对硬件的升级。根据统计,对网络、硬
件、操作系统、数据库参数进行优化所获得的性能提升,全部加起来最多只占数
据库系统性能提升的 40%左右(我将此暂时称之为外围优化);其余大部分系统性
能提升来自对应用程序的优化,对于应用程序的优化可以分为对源代码的优化及
数据库 SQL 语句的优化。在本文档只介绍外围优化及 SQL 语句的优化,对于源代
码的优化需要相关方面的专家,形成统一的规范。
一个数据库系统的生命周期可以分成:设计、开发和成品三个阶段。在设计
阶段进行数据库性能优化的成本最低,收益最大。在成品阶段进行数据库性能优
化的成本最高,收益最小。规范的代码和高性能的语句,功在平时,利在千秋。
2 外围优化
2.1、将操作系统与 SQL 数据库的补丁打到最高版本,WIN2003 最高补丁是 SP4,
SQL SERVER2000 最高补丁是 SP4
2.2、在服务器上不要安装与 VA 程序任何无相关的软件,甚至一些与 VA 运行
无关的服务都可以停掉。一般只安装 SQL 数据库、VA 服务端服务及杀毒
软件。
2.3、杀毒软件避免对大文件进行扫描,特别是数据库(MDF 和 LDF)文件,一
定要从杀毒软件的范围内排除掉。
2.4、在进行服务器分区时,分区不要太多,两三个分区就可以了。分区最好
都使用 NTFS 格式。
2.5、定时对磁盘进行扫描和磁盘整理,减少系统文件错误及减少磁盘碎片,
进行磁盘整理时最好不要使用 WINDOWS 本般的扫描功能(扫描之前一定
要对数据库作异地备份)。
2.6、可以考虑设置增大磁盘的缓存区,减少对磁盘的读写次数。
2.7、升级硬件,整机使用更高配置的硬件。或者可以单独增加 CPU 个数、增
大内存等。
2.8、提高网速。