Tblspace 编号

Tblspace tblspace 中描述的每个 tblspace 都接收到一个 tblspace 编号。该 tblspace 编号的值与 systables 系统目录表中的 partnum 字段和 sysfragments 系统目录表中 partn 字段所存储的值相同。

以下 SQL 查询检索数据数据库中每个表的 partnum(它们可位于几个不同的 dbspace 中) 并将它显示为表名和 partnum 的十六进制表示法:
SELECT tabname, tabid, partnum, HEX(partnum) hex_tblspace_name FROM systables
如果输出包括具有表名的行但 partnum 为 0,那么该表由两个或两个以上表分片组成,每分片为与其自己的 dvspace 中。例如: 图 1 显示了名为 accountpartnum 为 0 的表。

图: 带有 partnum 值的 systables 查询的输出

tabname        tabid   partnum          hex_tblspace_name
            
            sysfragments    25     1048611          0x00100023
            branch         100     1048612          0x00100024
            teller         101     1048613          0x00100025
            account        102           0          0x00000000
            history        103     1048615          0x00100027
            results        104     1048616          0x00100028
要获取组成表的各个分片的实际 tblspace 编号,必须查询同一数据库的 sysfragments 表。 图 2 显示了 图 1 中的 account 表有三个表分片和三个索引分片。

图: 带有 partn 值的 sysfragments 表的输出

tabid  fragtype     partn          hex_tblspace_name
            
            102  T            1048614        0x00100026
            102  T            2097154        0x00200002
            102  T            3145730        0x00300002
            102  I            1048617        0x00100029
            102  I            2097155        0x00200003
            102  I            3145731        0x00300003

Tblspace 编号元素

Tblspace 中的第一页是逻辑页 0 。(物理页编号引用 chunk 中页的地址。)Root 空间表空间 tblspace 总是包含在第一个 dbspace 以及表空间 tblspace 的逻辑页 1 中。(位图页是页 0 。)

Tblspace Tblspace 大小

当初始化 dbspace 时,这些 tblspace tblspace 页作为 extent 进行分配。如果数据库服务器尝试创建表,但是 tblspace tblspace 已满,那么数据库服务器将向该 tblspace 分配下一个 extent 。

当从 dbspace 除去表时,也会删除该表在t blspace tblspace 的相应条目。

Tblspace Tblspace 位图页

Tblspace tblspace 的第一页与任何初始 extent 的第一页一样,是描述接下来那些页的页充满度的位图。接下来的每一页在位图页上都有一个条目。如果需要,附加位图页位于分配给 tblspace 的整个邻接空间中,排列使得每个位图只描述紧跟它的页,知道下一位图或 dbspace 的结束。在 tblspace 页中,位图页以显著的间隔减少。每个位图页描述紧跟它的固定数量的页。