[转帖]SQL Server数据库存储总结
SQL Server数据库存储文件类型:数据文件和日志文件。数据文件以页面作为存储单元存储数据。
页面:即数据页面,数据页(Page)。是系统在磁盘间中分配的一段大小为8k的连续空间。
文件头(File Header):每个文件的第0页记录叫文件头,记录引导信息。
扩展:每8个数据页(64k)的组合形成扩展区(Extent),简称扩展,也叫盘区。扩展是SQL Server默认的存储分配单位。
堆:全部数据页的组合形成堆(Heap)。
扩展类型:混合扩展(Mixed Extent)(也叫混合盘区)和一致扩展(Uniform Extent)(也叫统一盘区)。
混合扩展(Mixed Extent):扩展区中既包含了空间页面又包括了数据或索引页面时,称为混合扩展。每张表都以混合扩展开始。
一致扩展(Uniform Extent):只存储同一对象,该对象拥有整个扩展。专门保存数据及索引信息。
创建表后,先在混合扩展中分配数据页面,当数据超过8个页面时,再从一致扩展中分配数据页面。
系统为什么要提供混合扩展和一致扩展?
因为以扩展作为存储分配单位的话,可以减少频繁的IO读写,提高数据库性能,但同时又引入了一个新的问题,那就是,当存储数据不足8k时也会分配一个扩展,这样会浪费存储空间,降低空间分配效率。为解决这个问题,系统提供了混合扩展和一致扩展。
空间页面:负责数据空间的分配和管理。包含三种类型的页面文件。
PFS页面(Page free space):记录一个页面是否已分配、位于混合扩展还是一致扩展以及页面上还有多少可用空间等信息。
GAM页面(Global allocation map)和SGAM页面(Secodary global allocation map):用来记录空闲的扩展或含有空闲页面的混合扩展的位置。
数据页面:负责管理表或索引。包含四种类型的页面文件。
IAM页:Index Allocation Map,索引分布映像页。IAM页从混合扩展中分配。记录了8个初始页面的位置和所有扩展区的位置,每个IAM页面能管理512,000个数据页面。超过512,000时,还可以增加更多的IAM页。
数据页:保存大小不超过8k的非文本/图像类型的数据。
文本/图像页:保存超过8K容量的文本或图像类型数据。
索引页:保存的是与索引结构相关的数据信息。
[转帖]SQL Server数据库存储总结的更多相关文章
- SQL SERVER大话存储结构(6)_数据库数据文件
数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用. 这里分 ...
- Sql Server数据库备份和恢复:原理篇
本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...
- SQL Server 列存储索引强化
SQL Server 列存储索引强化 SQL Server 列存储索引强化 1. 概述 2.背景 2.1 索引存储 2.2 缓存和I/O 2.3 Batch处理方式 3 聚集索引 3.1 提高索引创建 ...
- 关于SQL SERVER数据库学习总结
对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建 ...
- SQL SERVER 数据库备份的三种策略及语句
1.全量数据备份 备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋 ...
- SQL Server数据库性能优化之索引篇【转】
http://www.blogjava.net/allen-zhe/archive/2010/07/23/326966.html 性能优化之索引篇 近期项目需要, 做了一段时间的SQL Server性 ...
- 5、SQL Server数据库、T-SQL
SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...
- 人人都是 DBA(VIII)SQL Server 页存储结构
当在 SQL Server 数据库中创建一张表时,会在多张系统基础表中插入所创建表的信息,用于管理该表.通过目录视图 sys.tables, sys.columns, sys.indexes 可以查看 ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...
- 找到SQL Server数据库历史增长信息
很多时候,在我们规划SQL Server数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式. 通常来讲 ...
随机推荐
- Spring源码学习笔记4——BeanFactoryPostProcessor执行
一丶BeanFactoryPostProcessor是什么 Spring留给我们的一个扩展接口,在BeanDefinition加载注册完之后,并执行一些前置操作(笔记3)之后会反射生产所有的BeanF ...
- 文心一言 VS 讯飞星火 VS chatgpt (25)-- 算法导论4.2 7题
七.设计算法,仅使用三次实数乘法即可完成复数 a+bi和c+di 相乘.算法需接收a.b.c和d 为输入,分别生成实部 ac-bd 和虚部ad+bc. 文心一言: 可以使用如下算法来计算复数 a+bi ...
- row_number函数的不稳定性
本文分享自华为云社区<row_number函数的不稳定性>,作者: nullptr_ . row_number为窗口函数,用来为各组内数据生成连续排号 基础用法 postgres=# se ...
- 中秋佳节,程序员教你AI三步成诗,秒变“李白”
摘要:举杯邀明月,用技术来附庸风雅. 中秋佳节来临之际,你是否开始思念远方的亲朋好友,想为他们送上祝福?又或是与家人团圆赏月之时,希望借一段风雅诗词抒情达意? 华为云的开发者们教你一招,来个技术风的A ...
- 6种方法帮你搞定SimpleDateFormat类不是线程安全的问题
摘要:本文主要讲述在高并发下SimpleDateFormat类为何会出现安全问题,以及如何解决SimpleDateFormat类的安全问题. 本文分享自华为云社区<[高并发]SimpleDate ...
- Kubernetes(K8S) Deployment 拉取阿里云镜像部署
Docker Image 推到阿里云仓库,可以看 SpringBoot Docker 发布到 阿里仓库 1. 阿里镜像仓库加了授权,所以 K8S 拉之前要做下授权处理 [root@k8smaster ...
- Intellij idea 生成带注释的get/set
自带的 Alt+ Insert 中的 Getter and Setter 生成的属性,不能将 private 字段中的注释带过去,比较尴尬.可以通过两种试. 1. 修改模板:这种方法不能得到 pri ...
- QE01/QA11/QA02屏幕增强
1.业务需求 需要对来料检验增加"合格数量"和"不合格数量"字段,涉及三个增强开发 2.QE01\QE02\QE03\QE51N屏幕增强 增强表 增强点BADI ...
- 【辅助工具】Maven使用
Maven使用 错误排查 查看对应依赖在仓库中的路径,jar文件有没有下载成功,如果不成功直接把外部文件夹删除重新加载 导包错误 找到对应的路径,丛正常导入的同事直接复制过来. Maven启动项目 导 ...
- SpringCloud Alibaba技术栈(二)Nacos服务治理
源码-笔记:Code for Github 第二章 Nacos服务治理 1. 模块设计与实现 ①首先创建maven项目,此项目作为父工程.把src文件夹删掉,修改pom文件,添加依赖版本控制,控制子模 ...