zoukankan      html  css  js  c++  java
  • 对SQL SERVER2005中表和索引存储结构的一些理解

    每一个表在sys.tables 中有一条记录描述该表的元信息。

      如果表是无聚集索引的堆表则在sys.indexes 存在一条index_id为0的记录表示该表按堆方式存储数据;

      如果表是含聚集索引的B树则在sys.indexes  存在一条index_id为1的记录表示该表按B树方式存储数据;

    当然每个表还可以有0-249个非聚集索引, 对应sys.indexes中index_id为2-250的记录.

    sys.indexes中的每个对象至少含有一个分区,在sys.partitions 中至少对应一条记录,如果表或者索引有多个分区,则每个分区都在sys.partitions 对应一条记录.

    sys.partitions中的hobt_id字段为该分区实际存储数据的堆Id或B树Id(sql 2000中无分区概念则一个表只有一个B树或者堆来存储数据)。

    sys.partitions中的每个分区对象都至少包含一个分配单元对象,在sys.allocation_units中至少有一条类型为IN_ROW_DATA的记录,表示每个分区至少有一个行内数据分配单元。一个分区对象最多可以有3个分配单元,分别是IN_ROW_DATA (行内数据)、LOB_DATA(大对象数据)、ROW_OVERFLOW_DATA(行溢出数据)。

    (文中记录的观点只是博主自己的知识总结,不一定正确)

  • 相关阅读:
    HDU 5251 矩形面积 (旋转卡壳)
    洛谷 P3187 BZOJ 1185 [HNOI2007]最小矩形覆盖 (旋转卡壳)
    2019 杭电多校 第十场
    2019 杭电多校 第八场
    2019 杭电多校 第九场
    2019 杭电多校 第七场
    2019 杭电多校 第六场
    2019 杭电多校 第五场
    2019 杭电多校 第四场
    2019 杭电多校 第三场
  • 原文地址:https://www.cnblogs.com/ylh1223/p/2052110.html
Copyright © 2011-2022 走看看