堆表

简介:

堆表(heap table)

  • 没有聚集索引的表
  • 堆表在sys.partitions里有1条index_id = 0 的记录
  • 数据存储没有任何的顺序,插入数据也没顺序
  • 由于数据没有任何顺序,查询数据会非常慢
  • 数据页之间没有相互链接
  • 从数据页读取数据,需要从IAM(Index Allocation Map)页里找页号
  • sys.system_internals_allocation_units系统视图里,first_iam_page列,指向IAM页链中的第一个IAM页,它用来管理堆表的空间分配
  • 因为没有聚集索引,碎片不能通过重建索引(rebuilding the index)处理
  • SQL Server使用IAM页在堆结构里导航。分配给堆的页没有任何的顺序,且不相互链接。数据页之间唯一的逻辑关联是存在IAM页里的信息。

每个IAM页存储单个对象的分配(单个页或区分配)信息。堆表的表扫描是通过扫描IAM页,找到保存堆表数据的对应页或区来完成。

使用下列命令可以获得IAM页。

1 DBCC IND('databasename','Tablename',-1)

上述查询的输出结果里,Page Type列值为10的记录就是IAM页。

堆的结构如下图所示:


本文转自Woodytu博客园博客,原文链接:http://www.cnblogs.com/woodytu/p/4497574.html,如需转载请自行联系原作者

相关文章
|
网络协议
内网穿透的原理和实现方式
一、定义 内网穿透也成NAT穿透,进行NAT穿透是为了使具有某一个特定源IP地址和源端口号的数据包不被NAT设备屏蔽而正确路由到内网主机。
|
安全 Java Python
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
sonarqube扫描Python项目代码
|
机器学习/深度学习 数据建模 定位技术
【数据结构】图的基本概念—无/有向图、权和网、完全图、路径与回路
【数据结构】图的基本概念—无/有向图、权和网、完全图、路径与回路
2641 0
【数据结构】图的基本概念—无/有向图、权和网、完全图、路径与回路
|
C语言 C++
VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码
VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码
234 0
|
存储 消息中间件 监控
|
存储 缓存 安全
服务访问质量(QoS)介绍与技术 一
1、QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网 络通信提供更好的服务能力,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题 的一种技术。 2、QoS的保证对于容量有限的网络来说是十分重要的,特别是对于流多媒体应用,例如Vo IP和IPTV等,因为这些应用常常需要固定的传输率,对延时也比较敏感
421 1
服务访问质量(QoS)介绍与技术 一
|
Ubuntu 网络协议 Linux
VMware下Ubuntu系统配置网络连接的诸多坑
VMware下Ubuntu系统配置网络连接的诸多坑
VMware下Ubuntu系统配置网络连接的诸多坑
|
文字识别 Python Windows
Python3,自动识别图片文字,这个库,我爱了。
Python3,自动识别图片文字,这个库,我爱了。
48007 1
Python3,自动识别图片文字,这个库,我爱了。
|
存储 并行计算 Cloud Native
PolarDB 开源版通过 pg_trgm GIN 索引实现高效率 `like '%xxx%'` 模糊查询
PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的 价值产出, 将数据变成生产力. 本文将介绍PolarDB 开源版通过 pg_trgm GIN 索引实现高效率 `like '%xxx%'` 模糊查询
351 0
|
存储 机器学习/深度学习 算法
K近邻算法哪家强?KDTree、Annoy、HNSW原理和使用方法介绍
K近邻算法哪家强?KDTree、Annoy、HNSW原理和使用方法介绍