SQL Server2000文件组

1.SQL Server2000文件的类型

(1).主要数据文件

主要数据文件由主文件组中的初始数据文件组成。它包含所有数据库系统表。主要数据文件是数据库的起始点,它指向数据库中的其他文件。每一个数据库都有一个主要数据文件和一个主文件组,主要数据文件的扩展名是 .mdf。

(2).次要数据文件

数据库可能包含次要数据文件。一些数据库可能因为太大而需要很多次要数据文件,也可能在多个独立的磁盘驱动器上使用次要数据文件,以把数据分布在多个磁盘上。次要数据文件的扩展名是 .ndf。

(3).事务日志文件

每一个数据库必须有一个事务日志文件。除特别指定外,事务日志文件是自动创建并由系统命名的。事务日志文件的扩展名是 .ldf。一般事务日志文件大约占数据库大小的10%到25%。

2.SQL Server2000文件组

SQL Server2000文件组是经过命名的数据文件的集合。它可以将数据分布在多个磁盘上并在查询过程中使用并行线程,从而改善系统性能。同时,文件组也有利于数据的维护。

使用文件组应该注意:
·可以给主要数据文件和次要数据文件分配文件组,事务日志文件不是文件组的一部分;
·在创建数据文件时可以选择要加入的文件组,但是,一旦将文件添加到数据库,就不可能再修改文件组;
·一个数据文件不能是多个文件组的成员。表格、索引以及 text、ntext 和 image 数据可以与特定的文件组相关联。这意味着它们的所有页都将从该文件组的文件中分配;

SQL Server2000文件组可分为主文件组和自定义文件组。主要数据文件放在主文件组中,次要数据文件可以放在主文件组中,也可以放在自定义文件组中。

每个数据库中可以指定一个文件组为默认文件组,默认文件组用于存放创建时没有指定文件组的对象和数据。除非特别加以指定,否则在数据库创建时的主文件组就是默认文件组。如果数据库有多个文件组,应指定一个自定义文件组作为默认文件组,以防止表的意外增长限制了主文件组中系统表的正常增长。





3.使用自定义文件组改善性能

(1).在多个磁盘上平衡数据负载

当创建一个表时,可以把它分配给一个自定义文件组。文件组对该组所有文件使用比例填充策略。向文件组写入数据时,SQL Server在文件组中成比例地使用每一个数据文件的空间,而不是等到前一个数据文件已满才给下一个数据文件写数据。
所有文件都放置在一个磁盘或磁盘集上。SQL Server维护着每一个数据库对象到其存放位置之间的映像。

(2).使用并行线程改善数据访问

当访问一个表时,系统并行地为每个文件创建一个线程。如果在一个4个文件组成的文件组中执行表扫描,系统会使用4个独立的线程并行地读取数据。
通常在不同的磁盘上放置多个文件以改善性能。然而,如果一个文件组中的文件过多,会导致大量的并行线程从而构成瓶颈。

评论: 0 | 引用: 0 | 查看次数: 5320
发表评论
登录后再发表评论!