阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SQLServer数据库文件组相关知识笔记

30次阅读
没有评论

共计 1168 个字符,预计需要花费 3 分钟才能阅读完成。

导读数据库文件被组织在称为“文件组”的逻辑组中。文件组是所创建对象(如表或索引)的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控制对象的物理位置。
1、数据库文件组概念

数据库文件被组织在称为“文件组”的逻辑组中。文件组是所创建对象 (如表或索引) 的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控制对象的物理位置。

每个数据库有一个主文件组。主文件组包含主要数据文件和未放入其他文件组的所有次要文件。用户可以创建自定义的文件组,用于将数据文件集合起来,这样以便于后续管理、数据分配和放置。

2、文件组的工作机制

文件组对组内的所有文件都使用按比例填充策略。将数据写入文件组时,数据库引擎会根据文件中的可用空间量将一定比例的数据写入文件组中的每个文件,而不是将所有数据先写满第一个文件,然后再写入下一个文件。例如,如果文件 file1 有 100MB 可用空间,文件 file2 有 200 MB 可用空间,则从文件 f1 中分配一个区,从文件 f2 中分配两个区,依次类推。这样,两个文件几乎同时填满。

如果数据库设置为自动增长, 文件组中的所有文件一满,数据库引擎就自动按照循环方式一次扩展一个文件,以容纳更多数据。

3、数据库文件组的作用

改善数据库的性能:允许跨多个磁盘、多个磁盘控制器或 RAID (独立磁盘冗余阵列)系统创建数据库。当对数据进行访问时,多个读 / 写磁头可以同时并行地访问数据。从而加快数据库操作的速度。

可以在特定的文件组中创建表:根据业务的需要,可以将特定表的所有 I / O 都定向到一个特定的磁盘。从而提高数据库的性能。

4、数据库文件组的设计原则
  • 一个数据库文件或文件组不能由多个数据库使用。
  • 一个数据库文件只能属于一个文件组。
  • 数据和事务日志信息不能放在同一个文件或文件组。
  • 事务日志文件不能属于任何文件组。
  • 5、数据库文件组的使用建议
  • 一般情况下数据库在只有单个数据文件和单个事务日志文件的情况下性能良好。
  • 如果使用多个数据库文件的话,应该为附加的数据库文件创建第二个文件组,并将其设置为默认文件组。这样,主文件将只包含系统表和对象。
  • 要使性能最大化,需要尽可能多的不同的可用本地物理磁盘上创建文件或文件组。将争夺磁盘空间最激烈的对象放在不同的文件组中
  • 使用文件组将对象放置在特定的物理磁盘上。
  • 将在同一链接查询中使用的不同表置于不同的文件组中。由于采用并行磁盘 I / O 对连接数据进行搜索,可以改善数据库性能。
  • 将最常访问的表和属于这些表的非聚集索引置于不同的文件组中。如果文件位于不同的物理磁盘上,由于采用并行 I /O,可以改善数据库性能。
  • 不要将事务日志文件置于其中已有其他文件和文件组的物理磁盘上。
  • 阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

    腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

    代金券:在阿里云专用满减优惠券

    正文完
    星哥说事-微信公众号
    post-qrcode
     0
    星锅
    版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1168字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
    阿里云-最新活动爆款每日限量供应
    评论(没有评论)
    验证码
    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中