三个影响SQL Server性能的关键_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:谈SQL Server 数据挖掘应用于商业智能中
智能应用的平台 在过去的二十年中,经济快速发展,组织机构普遍都收集了大量的商业数据。然而,拥有大量的数据并不意味着拥有了丰富的商业信息。因此,商业智能需要进展到下一步数据挖掘。 数据挖掘能帮助您在浏览巨量数据的同时从中发现潜在有效的模式,并

1 逻辑数据库和表的设计

数据库的逻辑设计、包括表与表之间的关系是优化关系型数据库性能的核心。一个好的逻辑数据库设计可以为优化数据库和应用程序打下良好的基础。

标准化的数据库逻辑设计包括用多的、有相互关系的窄表来代替很多列的长数据表。下面是一些使用标准化表的一些好处。

A:由于表窄,因此可以使排序和建立索引更为迅速。

B:由于多表,所以多镞的索引成为可能。

C:更窄更紧凑的索引。

D:每个表中可以有少一些的索引,因此可以提高insert update delete等的速度,因为这些操作在索引多的情况下会对系统性能产生很大的影响。

E:更少的空值和更少的多余值,增加了数据库的紧凑性由于标准化,所以会增加了在获取数据时引用表的数目和其间的连接关系的复杂性。太多的表和复杂的连接关系会降低服务器的性能,因此在这两者之间需要综合考虑。

定义具有相关关系的主键和外来键时应该注意的事项主要是:用于连接多表的主键和参考的键要有相同的数据类型。

2 索引的设计

A:尽量避免表扫描

检查你的查询语句的where子句,因为这是优化器重要关注的地方。包含在where里面的每一列(column)都是可能的侯选索引,为能达到最优的性能,考虑在下面给出的例子:对于在where子句中给出了column1这个列。

下面的两个条件可以提高索引的优化查询性能!

第一:在表中的column1列上有一个单索引;

第二:在表中有多索引,但是column1是第一个索引的列。

避免定义多索引而column1是第二个或后面的索引,这样的索引不能优化服务器性能。

例如:下面的例子用了pubs数据库。

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = ’White’

按下面几个列上建立的索引将会是对优化器有用的索引

au_lname

au_lname, au_fname

而在下面几个列上建立的索引将不会对优化器起到好的作用

au_address

au_fname, au_lname

分享:怎样改善SQL Server数据库的内存管理
最近,为了能在数据库服务器中运行其他应用程序,在保持数据库操作系统版本不变的前提下对数据库服务器进行了软、硬件上的升级。在软件上,将操作系统从Windows 2000升级到Windows Server 2003;在硬件上,将服务器中的内存由原来的512MB增加到1GB(1024MB)。

共3页上一页123下一页
来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-03-15
相关Mssql数据库教程