论文部分内容阅读
[摘 要]数据库是收集信息、整理信息的重要工具,能够在很大程度上为用户提供便利。优化数据库性能,促使数据库更好的为人民服务,是当前相关人员的重要研究内容。基于此,文章分析了数据库设计对SQL SERVER数据库性能优化的作用,并从逻辑设计、物理设计等方面入手,对SQL SERVER数据库进行性能优化。
[关键词]数据库设计;SQL SERVER数据库;性能优化
中图分类号:V887 文献标识码:A 文章编号:1009-914X(2018)34-0378-01
引言
SQL SERVER数据库性能容易受到多种因素影响,例如计算机硬件水平、数据库的载体操作系统、数据库的结构、数据库设计等,其中数据库设计对SQL SERVER数据库性能的影响最为明显,因此,从数据库设计方面进行数据库性能优化很有必要。
1 数据库结构及设计要点
要优化SQL Server数据库性能,在数据库设计时,就需要熟悉其基本结构,同时了解数据库存储的方式。首先,通常数据库都包含一个主数据文件,此外,还包含一个或者多个事务日志文件,部分也包含辅助数据文件。数据库将主数据文件作为起点,对数据库中其他部分文件进行管理,主数据文件主要包含数据库的启动信息,因此,对于所有数据而言,都少不了主数据文件。对于事务日志文件而言,其中包含了所有日志信息,用于恢复数据库。所以对于数据库而言,日志文件也不可缺少,每一个数据库都至少包含一个日志文件。主文件以外的其他文件都属于辅助文件,如果数据库中的主文件包含所有数据,可以不设置辅助文件。但是一些大型数据库,一般会设置多个辅助文件以提升数据处理效率。
创建数据库时,系统表内的model数据库副本,在相应的数据库内会被复制;SQL Server数据库内,以页为数据存在的基本单位,定义为一块尺寸为8KB的连续磁盘空间,数据库内行不可跨页,以SQL Server2000数据库为例,一行最多包含8060字节;数据库内扩展是一种基本单元,为表或索引分配一定的空间,如果表的规模比较小,在扩展时可与其他数据库共享,一个扩展为8个邻接的页;在事务日志文件中,会保存一些重要信息,方便数据恢复,只用于在系统出现故障情况下数据的恢复。在设计数据库之前,首先要了解数据库的结构,然后才能够保证数据库设计的规范性。将事务日志以及数据库文件映射到磁盘中,对数据库进行管理,此时用户使用数据库的过程中,系统性能能够得到大幅度提升,还能够实现系统的容错功能。
2 数据库逻辑设计
数据库的逻辑设计主要是根据实际的业务需求和所需的数据建立数据模型,完成对表与表之间的关系进行规范和设计,这是数据库优化的重要核心问题。从数据库结构设计对系统性能优化的整个影响机制来看,数据库的逻辑设计是对整个数据库进行性能优化的基础环节也是最为重要的环节,而数据库逻辑设计优化的过程也就是使用规范、简洁的关系来代替原来关系的一个过程,规范化的逻辑关系中,一个关系中所有字段都不再可分,该关系能够满足数据库逻辑设计的第一范式,在此基础上,消除关键字和属性就能够得到第二范式,再消除关键字与属性之间的传递函数关系,就能够得到第三范式,这个过程就是分解关系的过程,因而在数据库的逻辑设计过程中必须要满足第三范式。实际上逻辑设计就是将数据分布到各个表的技术,使用规范化的设计技术能够有效消除数据冗余,将数据之间的层次关系理清楚,有效保证数据库的完整性,使得数据库的稳定性较好,同时能够较为智能的解决删除时的异常数据插入异常,也就是相关数据信息未插入到数据库当中以及更新问题等。
但是规范化的设计有时候也会对系统的性能产生一定程度的影响,规范化实际上是将二维表分解为最小组分的表,所以对于一些查询运算可能就需要完成较为复杂的联结运算,复杂的联结运算会导致计算机运行效率、运行空间、运行时间的损失,并且大幅度增加了客户端的编程难度,导致性能明显下降。因此,必须平衡SQL SERVER数据库的规范性,使用反规范化方式,来提升数据库查询速度。
3 数据库物理设计
3.1 RAID技术
RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(阵列)组成的磁盘系统,将磁盘阵列当作一个磁盘来对待。RAID设备允许数据在多个磁盘驱动器中条带化,基于硬件RAID将windows和应用程序进行切片分布在所有参与RAID阵列的磁盘中,使更多读/写磁头同时读取数据,实现并行查询,提高查询效率。
3.2 文件组方法
在RAID相应的磁盘驱动器上如何实现逻辑设计的数据文件映射,需要进行深入研究,将对文件进行分组,数据文件集合成文件组是当前最有效的方法。利用创建文件组,用户可以将不同文件进行分类,如分离查询负担重的文件和修改负担重的文件,也就是将数据负载平衡到多个磁盘中,磁盘与文件组的映射关系如下:创建数据文件时,如果文件组内文件来自于不同的磁盘,则对应的文件映射就会指向多个磁盘中的数据位置;在一个文件组内如果创建有多个数据库文件,并且该文件组内文件来自多个不同磁盘,那么映射关系也就不是唯一的,而是存在多个映射关系,分别指向不同磁盘中对应的文件位置。这样,先条带化设置磁盘,然后利用文件组将数据在多个硬件条中集中并均匀展开,采用单独线程实现对文件的访问,可以满足并行访问数据的需求,同時在多个磁盘中分配将要访问的负载,进而降低磁盘争用的现象,提升查询性能。
3.3 索引的合理规划
改变SQL Server数据库性能的有效方法是利用索引。因为利用索引查询时,优化器避免对基表的扫描,从而减少I/O开销,搞高性能。因此在数据库设计时,要有效的规划索引。
在通常情况下,索引创建在基表所在的文件组中,该索引即在基表上创建。同时可以在其它基表所在文件组上创建非簇索引。文件组通过自带的控制器使用不同的物理驱动器使用数据库和索引信息,实现性能优化。索引的使用要恰到好处,其使用原则如下:
一,在经常进行连接的列上建立索引,而不经连接的字段则由优化器自动生成索引;
二,在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引;
三,在频繁进行排序或分组的列上建立索引;
四,如果待引膊的列有多个,可以在这些列上建立复合索引。
结语
总而言之,当前SQL SERVER数据库性能会受到各种因素影响,文章通过数据库设计实现对SQL SERVER数据库性能的优化,并取得较好效果。因此,相关人员应做好数据库的逻辑设计、物理设计等,不断提升SQL SERVER数据库性能,促使SQL SERVER数据库为人们提供更好的服务。
参考文献
[1] 徐小亚,李君芳.数据库设计对SQL Server数据库性能优化分析[J].信息与电脑(理论版),2017(02):177-179+185.
[2] 谭峤.SQL Server数据库性能优化研究[J].硅谷,2014,7(08):54+48.
[3] 刘霜.数据库设计对SQL Server数据库性能优化分析[J].中国新通信,2016,18(15):3-4.
[4] 陈岩岩.SQL Server数据库性能的影响因素及性能优化路径[J].现代信息科技,2017,1(06):95-96.
[关键词]数据库设计;SQL SERVER数据库;性能优化
中图分类号:V887 文献标识码:A 文章编号:1009-914X(2018)34-0378-01
引言
SQL SERVER数据库性能容易受到多种因素影响,例如计算机硬件水平、数据库的载体操作系统、数据库的结构、数据库设计等,其中数据库设计对SQL SERVER数据库性能的影响最为明显,因此,从数据库设计方面进行数据库性能优化很有必要。
1 数据库结构及设计要点
要优化SQL Server数据库性能,在数据库设计时,就需要熟悉其基本结构,同时了解数据库存储的方式。首先,通常数据库都包含一个主数据文件,此外,还包含一个或者多个事务日志文件,部分也包含辅助数据文件。数据库将主数据文件作为起点,对数据库中其他部分文件进行管理,主数据文件主要包含数据库的启动信息,因此,对于所有数据而言,都少不了主数据文件。对于事务日志文件而言,其中包含了所有日志信息,用于恢复数据库。所以对于数据库而言,日志文件也不可缺少,每一个数据库都至少包含一个日志文件。主文件以外的其他文件都属于辅助文件,如果数据库中的主文件包含所有数据,可以不设置辅助文件。但是一些大型数据库,一般会设置多个辅助文件以提升数据处理效率。
创建数据库时,系统表内的model数据库副本,在相应的数据库内会被复制;SQL Server数据库内,以页为数据存在的基本单位,定义为一块尺寸为8KB的连续磁盘空间,数据库内行不可跨页,以SQL Server2000数据库为例,一行最多包含8060字节;数据库内扩展是一种基本单元,为表或索引分配一定的空间,如果表的规模比较小,在扩展时可与其他数据库共享,一个扩展为8个邻接的页;在事务日志文件中,会保存一些重要信息,方便数据恢复,只用于在系统出现故障情况下数据的恢复。在设计数据库之前,首先要了解数据库的结构,然后才能够保证数据库设计的规范性。将事务日志以及数据库文件映射到磁盘中,对数据库进行管理,此时用户使用数据库的过程中,系统性能能够得到大幅度提升,还能够实现系统的容错功能。
2 数据库逻辑设计
数据库的逻辑设计主要是根据实际的业务需求和所需的数据建立数据模型,完成对表与表之间的关系进行规范和设计,这是数据库优化的重要核心问题。从数据库结构设计对系统性能优化的整个影响机制来看,数据库的逻辑设计是对整个数据库进行性能优化的基础环节也是最为重要的环节,而数据库逻辑设计优化的过程也就是使用规范、简洁的关系来代替原来关系的一个过程,规范化的逻辑关系中,一个关系中所有字段都不再可分,该关系能够满足数据库逻辑设计的第一范式,在此基础上,消除关键字和属性就能够得到第二范式,再消除关键字与属性之间的传递函数关系,就能够得到第三范式,这个过程就是分解关系的过程,因而在数据库的逻辑设计过程中必须要满足第三范式。实际上逻辑设计就是将数据分布到各个表的技术,使用规范化的设计技术能够有效消除数据冗余,将数据之间的层次关系理清楚,有效保证数据库的完整性,使得数据库的稳定性较好,同时能够较为智能的解决删除时的异常数据插入异常,也就是相关数据信息未插入到数据库当中以及更新问题等。
但是规范化的设计有时候也会对系统的性能产生一定程度的影响,规范化实际上是将二维表分解为最小组分的表,所以对于一些查询运算可能就需要完成较为复杂的联结运算,复杂的联结运算会导致计算机运行效率、运行空间、运行时间的损失,并且大幅度增加了客户端的编程难度,导致性能明显下降。因此,必须平衡SQL SERVER数据库的规范性,使用反规范化方式,来提升数据库查询速度。
3 数据库物理设计
3.1 RAID技术
RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(阵列)组成的磁盘系统,将磁盘阵列当作一个磁盘来对待。RAID设备允许数据在多个磁盘驱动器中条带化,基于硬件RAID将windows和应用程序进行切片分布在所有参与RAID阵列的磁盘中,使更多读/写磁头同时读取数据,实现并行查询,提高查询效率。
3.2 文件组方法
在RAID相应的磁盘驱动器上如何实现逻辑设计的数据文件映射,需要进行深入研究,将对文件进行分组,数据文件集合成文件组是当前最有效的方法。利用创建文件组,用户可以将不同文件进行分类,如分离查询负担重的文件和修改负担重的文件,也就是将数据负载平衡到多个磁盘中,磁盘与文件组的映射关系如下:创建数据文件时,如果文件组内文件来自于不同的磁盘,则对应的文件映射就会指向多个磁盘中的数据位置;在一个文件组内如果创建有多个数据库文件,并且该文件组内文件来自多个不同磁盘,那么映射关系也就不是唯一的,而是存在多个映射关系,分别指向不同磁盘中对应的文件位置。这样,先条带化设置磁盘,然后利用文件组将数据在多个硬件条中集中并均匀展开,采用单独线程实现对文件的访问,可以满足并行访问数据的需求,同時在多个磁盘中分配将要访问的负载,进而降低磁盘争用的现象,提升查询性能。
3.3 索引的合理规划
改变SQL Server数据库性能的有效方法是利用索引。因为利用索引查询时,优化器避免对基表的扫描,从而减少I/O开销,搞高性能。因此在数据库设计时,要有效的规划索引。
在通常情况下,索引创建在基表所在的文件组中,该索引即在基表上创建。同时可以在其它基表所在文件组上创建非簇索引。文件组通过自带的控制器使用不同的物理驱动器使用数据库和索引信息,实现性能优化。索引的使用要恰到好处,其使用原则如下:
一,在经常进行连接的列上建立索引,而不经连接的字段则由优化器自动生成索引;
二,在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引;
三,在频繁进行排序或分组的列上建立索引;
四,如果待引膊的列有多个,可以在这些列上建立复合索引。
结语
总而言之,当前SQL SERVER数据库性能会受到各种因素影响,文章通过数据库设计实现对SQL SERVER数据库性能的优化,并取得较好效果。因此,相关人员应做好数据库的逻辑设计、物理设计等,不断提升SQL SERVER数据库性能,促使SQL SERVER数据库为人们提供更好的服务。
参考文献
[1] 徐小亚,李君芳.数据库设计对SQL Server数据库性能优化分析[J].信息与电脑(理论版),2017(02):177-179+185.
[2] 谭峤.SQL Server数据库性能优化研究[J].硅谷,2014,7(08):54+48.
[3] 刘霜.数据库设计对SQL Server数据库性能优化分析[J].中国新通信,2016,18(15):3-4.
[4] 陈岩岩.SQL Server数据库性能的影响因素及性能优化路径[J].现代信息科技,2017,1(06):95-96.