存储引擎容量的规划技巧物业
袁宝成: 页和字段 SQL Server 中的基本数据存储单元是页。在SQL Server 7.0中,页的大小是8KB。在每一页的开头是一个96位的头,用于保存系统信息,如页的类型,页上空闲空间的数量以及页所属对象的ID。 在一个SQL Server 7.0数据库的数据文件中有七种页类型。 数据页包括数据行中除text、ntext和 image以外的所有数据类型,text、ntext和 image是保存在单独的页中的 。数据行是连续地放在页上,紧接在页头之后。一个行偏移的表开始于页的末尾。 行偏移表包含页上每一行的一个条目。每一个条目记录了该行的第一个字节距离页的开始的距离。行偏移表中的条目的顺序与页上行的顺序是相反的。在SQL Server 7.0中,行不能够跨越页,一行中所能够包含的最大数据量是8,060字节,这并未包括text、ntext和 imag数据类型。 盘区是基本的单元,表和索引的空间分配是以盘区为单位的。一个盘区是8个连续的页,或者是64KB。为了使自己的空间分配有较高的效率,SQL Server 7.0 不会将整个的盘区分配给数据量很小的表。 SQL Server 7.0有两种类型的盘区:统一的和混合的。统一的盘区属于一个单独的对象:盘区中的所有页都只能由属主对象使用。 SQL Server 7.0中引入的混合区域对于小型的应用程序工作得很好。在SQL Server,表的空间增加是一次一个盘区。在SQL 7中,对于微型表而言,这会导致巨大的过载,因为现在页的大小是8KB。一个混合盘区允许将一个单独页分配给一个小型表或索引。只有当分配给表或索引的页数超过了8页时,它才会开始分配统一区域。混合盘区最多由8个对象共享。一个新表或索引是从混合盘区中分配页的。当一个表或索引增长到8页时,它就转向统一盘区。 破损页检测 破损页检测保证了数据库的一致性。在SQL Server 7.0中,页的大小是8KB,而Windows NT Server 是在512字节的段中执行I/O操作的。这一差异使得写一个页的一部分成为可能,这可能在电源故障发生时,或是在第一个512字节的段正在写和8KB的I/O已经完成这两个时间之间会发生。 如果写入了第一个512字节的段,可能会出现页已经被更新,而实际上此时还没有更新。(页的时间戳在页头中,页头是页的最开始96个字节。)有几种方法来处理这一问题。你可以使用电池支持的高速缓存的I/O设备,这些设备保证要么有要么全无的I/O。如果你有这些系统之一,破损页检测就没有必要了。 通过创建一个位的掩码,SQL Server可以测试到不完整的I/O操作。在位掩码中,从页中每个段中抽取一位。每次写一个页时,该位就从它以前的状态翻转(就好象它是在磁盘上一样),并且实际状态保存在页头中。如果读了一个页且有一位处于错误的状态,这就意味着I/O操作没有完成,有一个破损页。与作校验相比,这种机制更加划算。 你可以打开或关闭破损页检测,因为当位翻转时,会在页头上做上标记。如果打开或关闭破损页检测,那么就能够观察到页中已经翻转了的状态,并且在下次读取的时候能够修改过来。 文件和文件组 SQL Server 7.0使用一系列操作系统文件来创建一个数据库,每一个数据库都有一个独立的文件。在同一个文件中再也不可能存在多个数据库。这一简化有几个非常重要的优点:文件可以增大或收缩,并简化了空间管理。
儿童健脾胃的药排行榜百色白癜风医院哪好
柳州白癜风在哪里治疗
- 上一页:存储图像数据的策略与方
- 下一页:存储过程的经典分页计划
-
高考志愿怎么挖?永州爱尔眼科带你完美“避坑”!
如果把初中比喻再加第一场万里长征的话 那么,初中应征入伍单列就是这最...
2024-01-08
-
高考都结束了 为什么有的考生和家长仍然负面影响满满?
央广网北京6月13日消息 据之中央卫星电视总台西方的电视台《新闻华盛顿邮...
2023-11-05
-
本土新增“3297+18187”!山西新增本土新冠胃癌确诊病例5例和无症状感染者28例;隐瞒行程返家
4同月18日0—24时,31个省(自治北区、直辖市)和新疆生产建设兵团调查报告...
2023-10-28
-
变化最大的四位明星,现在疑她丑,过去追成狗
女星在新进的时候常会都有著帅气的面容,但是一旦她们上了岁数,很多人常...
2023-10-17
-
美联储纪要酝酿重大风险!黄金最新走势量化
24K99讯 每周三(7同年6日)欧市早盘,结算蓝宝石在昨日暴跌逾40美元后小幅...
2023-10-14
-
美股新能源车裂谷走低 Lordstown Motors跌近8%
美股新能源车岩石圈走低 Lordstown Motors跌近8% 【美股新能源车岩石圈走低 Lor...
2023-10-13