改进SQL Server 2005性能的分区索引(下)

日期: 2009-03-17 作者:Serdar Yegulalp翻译:曾少宁 来源:TechTarget中国 英文

理解分区方法和分区模式 分区由两部分组成:分区方法和分区模式。第一个表示的是数据本身是如何分区在不同的分区的。比如,以A到Z为例,数据是将字母表的每个字母作为26个单独的分区功能来分区的。 模式表示分区方法中的各个分区是如何映射到文件组的。

如果我们的A到Z表中的“A”数据存储在文件组的一个物理文件中,而“A”索引存储在相同文件组的另一个物理文件中,那么按分区排列的索引将有助于加速和并行数据和索引的访问。这样,多CPU可以同时在不同的分区或物理文件上操作。(如果需要的话,我们可以通过将索引和数据放到单独的物理设备上来实现更进一步的数据并行访问。) TEMPDB空间 建立按分区排列索引需要消耗内存……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

理解分区方法和分区模式

分区由两部分组成:分区方法和分区模式。第一个表示的是数据本身是如何分区在不同的分区的。比如,以A到Z为例,数据是将字母表的每个字母作为26个单独的分区功能来分区的。

模式表示分区方法中的各个分区是如何映射到文件组的。如果我们的A到Z表中的“A”数据存储在文件组的一个物理文件中,而“A”索引存储在相同文件组的另一个物理文件中,那么按分区排列的索引将有助于加速和并行数据和索引的访问。这样,多CPU可以同时在不同的分区或物理文件上操作。(如果需要的话,我们可以通过将索引和数据放到单独的物理设备上来实现更进一步的数据并行访问。)

TEMPDB空间

建立按分区排列索引需要消耗内存并占用TEMPDB空间。许多数据库管理员在安装SQL Server时,都保持TEMPDB空间分配的默认值,而没有设置它的大小,而用于自动扩展TEMPDB的很消耗时间和资源,从而降低性能。同时,不同分区的索引是根据不同内存分配方法建立的:按分区排列的索引每次都与一个排序表一起建立,而非排列索引则同时与它所有的排序表同时建立。

Microsoft在Books Online中规定每个分区区的排序表最小是40页,并且每页8KB,因此一个有26个分区的非排列分区索引(以上面的A到Z为例)将需要1,040页——接近4.25 MB内存。一个非排列索引则只需要163,840字节。对于大多数健壮的SQL Server设置这都不是问题,但是当我们处理超大型分区模式并且同时运行多个分区模式时,我们还是要留心的。

作者

Serdar Yegulalp
Serdar Yegulalp

Serdar Yegulalp从1994年到2001年为Windows杂志写作,覆盖了广泛的技术方面。他现在是《The Windows 2000 Power Users Newsletter》一书的出版者,辛勤钻研他擅长的Windows NT, Windows 2000 and Windows XP领域,并为TechTarget写专栏。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐