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

1、数据库文件组概念

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

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

2、文件组的工作机制

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

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

3、数据库文件组的作用

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

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

4、数据库文件组的设计原则

  • 一个数据库文件或文件组不能由多个数据库使用。

  • 一个数据库文件只能属于一个文件组。

  • 数据和事务日志信息不能放在同一个文件或文件组。

  • 事务日志文件不能属于任何文件组。

5、数据库文件组的使用建议

  • 一般情况下数据库在只有单个数据文件和单个事务日志文件的情况下性能良好。

  • 如果使用多个数据库文件的话,应该为附加的数据库文件创建第二个文件组,并将其设置为默认文件组。这样,主文件将只包含系统表和对象。

  • 要使性能最大化,需要尽可能多的不同的可用本地物理磁盘上创建文件或文件组。将争夺磁盘空间最激烈的对象放在不同的文件组中

  • 使用文件组将对象放置在特定的物理磁盘上。

  • 将在同一联接查询中使用的不同表置于不同的文件组中。由于采用并行磁盘I/O对联接数据进行搜索,可以改善数据库性能。

  • 将最常访问的表和属于这些表的非聚集索引置于不同的文件组中。如果文件位于不同的物理磁盘上,由于采用并行I/O,可以改善数据库性能。

  • 不要将事务日志文件置于其中已有其他文件和文件组的物理磁盘上。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jvm配置参数,查看大对象直接分配到老年代

看下如下代码: 配置参数 -Xms60m -Xms60m -XX:NewRatio2 -XX:SurvivorRatio8 -XX:PrintGCDetails 运行后看下如下,可以看到ParOldGen老年代,为used 20480K,也就20M,说明大对象直接分配到老年代 总结:

电脑组装笔记:手把手教你如何自己组装电脑

目录 第一步:安装CPU 第二步:安装内存条 第三步:CPU风扇安装 第四步:电源安装 第五步:主板装入机箱 第六步:硬盘、固态硬盘、光驱的安装 第七步:线路连接 第八步:显示器的连接 第九步…

Amoeba for MySQL

Amoeba for MySQL Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、Query过滤、读写分…

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

1、数据库文件概念数据库文件是SQLServer数据库的物理体现,和计算机的普通文件一样存储在计算机的磁盘空间当中。作为数据库记录和日志等其他信息的存储载体。2、数据库文件分类数据库文件主要包括主数据库文件、次要数据库文件、日志文件。主数据库文件&#xff1a…

电商总结(七)缓存系统

前段时间,在和朋友讨论和研究缓存的使用,一直对缓存的使用搞的不太清楚,所以这次把和朋友讨论过缓存系统的设计的相关问题总结总结。 对于一个电商系统,缓存是重要组成部分,提升系统性能的主要方式之一就是缓存。它可以…

操作系统:Win10自带的8个基本功能非常实用

有些朋友总是喜欢安装很多第三方软件,但是却没有意识到win10自带的基本功能,比这些第三方软件更加好用。今天小编给大家介绍一下Win10自带的八个功能,希望对大家能有所帮助! 一、保护眼睛:深色主题 办公室职场人士&…

在Android App中集成Google登录

技术文章 来源:码农网 发布:2016-09-19 浏览:194 摘要:今天,几乎所有的web和移动app都自带谷歌和Facebook登录,这对app开发者和用户来说是一个非常有用的功能,因为几乎每个人都有一个谷歌/ Gmai…

html 科幻模板,html5酷炫宇宙科幻周年庆典专题动画模板

资源下载此资源下载价格为4D币,请先登录资源文件列表codedown123-0727-39/img/arrow-down-1.png , 1229codedown123-0727-39/img/arrow-down-2.png , 1190codedown123-0727-39/img/arrow-down-3.png , 1132codedown123-0727-39/img/asteroids-left.png , 7015codedo…

SQLServer数据库设置项梳理

一、自动选项AUTO CLOSEON:数据库将在最后一个用户退出后完全关闭,它占用的资源也将释放。当用户尝试再次使用该数据库时,该数据库将自动重新打开OFF:最后一个用户退出后数据库仍保持打开对于SQLServer Desktop Engine或 SQL Serv…

SQLServer创建数据库详解

1、创建数据库介绍在创建数据库之前,需要先确定数据库的名称、所有者、大小、存储该数据库的文件和文件组。数据库所有者:创建数据库的用户。一般情况下,大多数产品对象由数据库所有者拥有。2、创建数据库注意事项创建数据库需要拥有CREATE D…

Mac上IntelliJ IDEA设置类注释和方法注释带作者和日期

在方法上标注注释 1:idea左上角点击Preferences 选择Editor------Code Style----Live Templates 点击右边号 点击Template Group,在弹框中添加一个分组 2:击Template Group,在弹框中添加一个分组 3:选中新建的分组,点击右边号,选择Live Template 4:在…

SQLServer数据库收缩相关知识笔记

1、为什么要进行数据库收缩?SQL Server 数据库采取预先分配空间的方法来建立数据库的数据文件或者日志文件,比如数据文件的空间分配了300MB,而实际上只占用了20MB空间,这样就会造成磁盘存储空间的浪费。可以通过数据库收缩技术对数…

吕梁离石学校计算机专业在哪里,山西吕梁计算机大专学校有哪些太重技校告诉您...

山西吕梁计算机大专学校有哪些太重技校告诉您。选择专业的***关键的因素是你自身的兴趣,其他只能参考,如果你能准确的知道自己的兴趣所在,未来的职业所选,那么只需要一招就可以吃遍天。相信我,一生为自己感兴趣的事情奋…

网络安全:六种常见的网络攻击手段

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

e4a html文本,E4A 怎么将剪贴版中的文本 粘贴到窗口的光标处啊?求个代码

满意答案百幻蝶V木桃2017.05.20采纳率:49% 等级:8已帮助:1710人■如何打开剪贴板查看器 当您从某个程序剪切或复制信息时,该信息会被移动到剪贴板并保留在那里,直到您清除剪贴板或者您剪切或复制了另一片信息。“剪…

电脑技巧:七款U盘修复软件

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…