1。数据库文件组概念数据库文件组织在称为“文件组”的逻辑组中。文件组是创建对象(如表或索引)的目标容器。目标数据将分散在目标文件组的文件中。文件组可以根据您的要求控制对象的物理位置。每个数据库都有一个主文件组。主文件组包含主数据文件和任何未放置在其他文件组中的辅助文件。用户可以创建自定义文件组来收集数据文件,便于后续管理、数据分配和放置。2、文件组的工作机制文件组对组内所有文件采用比例填充策略。将数据写入文件组时,数据库引擎会根据文件中的可用空间量将一定百分比的数据写入文件组中的每个文件,而不是将所有数据填充到第一个文件,然后再填充到下一个文件。例如,如果file1有100MB可用空间,file2有200MB可用空间,则从文件f1分配一个盘区,从文件f2分配两个盘区,依此类推。这样,两个文件几乎同时填满。如果数据库设置为自动增长,一旦文件组中的所有文件都满了,数据库引擎会自动循环扩充一个文件,以容纳更多的数据。3、数据库文件组提高数据库性能的作用:允许跨多个磁盘、多个磁盘控制器或RAID(独立磁盘冗余阵列)系统创建数据库。访问数据时,多个读写头可以同时并行访问数据。从而加快了数据库运行的速度。可以在特定的文件组中创建表:根据业务需要,可以将特定表的所有I/O定向到特定的磁盘。从而提高数据库的性能。4.数据库文件组的设计原则一个数据库文件或文件组不能被多个数据库使用。一个数据库文件只能属于一个文件组。数据和事务日志信息不能放在同一个文件或文件组中。事务日志文件不能属于任何文件组。5.数据库文件组的使用建议一般情况下,只有单个数据文件和单个事务日志文件时,数据库的性能较好。如果使用多个数据库文件,则应为其他数据库文件创建第二个文件组并将其设置为默认文件组。这样,主文件将只包含系统表和对象。为了最大限度地提高性能,请在尽可能多的不同本地物理磁盘上创建文件或文件组。将最争夺磁盘空间的对象放在单独的文件组中使用文件组将对象放在特定的物理磁盘上。将同一链接查询中使用的不同表放在不同的文件组中。由于用于搜索连接数据的并行磁盘I/O,可以提高数据库性能。将最常访问的表和属于这些表的非聚集索引放在单独的文件组中。如果文件位于不同的物理磁盘上,则可以通过并行I/O提高数据库性能。不要将事务日志文件放在已存在其他文件和文件组的物理磁盘上。
