菜单
当前位置:首页>>解决方案>>硬件及运维解决方案

Sqlserver优化方案


数据库的性能直接决定了一个软件系统的整体性能,特别是当今互联网信息时代,对分布式数据库的访问量越来越大。如何优化数据库系统成了能否提高数据处理能力的一个重要因素。基于sql server 数据库的优化策略所关注的就是数据库设计、应用程序的优化及硬件系统的优化。

Sqlserver数据库的优化主要分为以下几个部分:

1.     设计联合数据库服务器

单个服务器

联合服务器层

生产服务器上有一个sql server实例

每个成员服务器上都有一个SQL Server实例

生产数据存储在一个数据库中

每个成员服务器都有一个成员数据库。数据分布在成员数据库之间

一般每个表都是单个实体

原始数据库中的表被水平分区为成员表。一个成员表,而且使用分布式分区视图使每个成员服务器上看起来似乎都有原始表的完整复本

与单个服务器的所有连接和所有SQL语句都由SQL Server的同一个实例处理

应用程序层必须能够在包含语句所引用的大部分数据的成员服务器上配置SQL语句

2.        数据库设计

2.1 逻辑库规范化问题

1)如果规范化设计产生了许多4路或更多路合并关系,就可以考虑在数据库实体()中加入重复属性()

2)常用的计算字段(如总计、最大值等)可以考虑存储到数据库实体中。

3)重新定义实体以减少外部属性数据或行数据的开支。

2.2 生成物理数据库

1)与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。
2)把1个表放在某个物理设备上,再通过SQL Server段把它的不分簇索引放在1个不同的物理设备上,这样能提高性能。

3)用SQL Server段把一个频繁使用的大表分割开,并放在2个单独的智能型磁盘控制器的数据库设备上。

4)用SQL Server段把文本或图像列的数据存放在1个单独的物理设备上可以提高性能。

2.3 查询优化

2.3.1. 把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持

2.3.2 纵向、横向分割表,减少表的尺寸(sp_spaceuse)

2.3.3 根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。

2.3.4 扩大服务器的内存,Windows 2000SQL server 2000能支持4-8G的内存。

2.3.5 增加服务器 CPU个数;但是必须明白并行处理串行处理更需要资源例如内存。

2.3.6 DB Server APPLication Server 分离。

2.3.7 在实现分区视图之前,必须先水平分区表。

2.3.8 在创建成员表后,在每个成员服务器上定义一个分布式分区视图,并且每个视图具有相同的名称。

2.3.9 重建索引 DBCC REINDEX ,DBCC INDEXDEFRAG,收缩数据和日志 DBCCSHRINKDB,DBCC SHRINKFILE