在DBMaster中如何为表或索引分配页? (DBMR2238)

~ 0 min
2016-03-04 03:30

当创建一个表时,页数的分配取决于列的数量、列类型以及在表中的表头信息。然而,如果用户只是创建了一个没有插入任何记录的空表,则只需要将表的相关信息存储到SYSTABLE 中而不需要为空表配置数据页。当创建一个索引时,页数的分配取决于创建该索引基于的列数以及该索引的复杂性。然而,若用户只是创建一个没有插入任何记录的空索引,则只需将索引相关信息存储到SYSINDEX中而不需要为空索引配置索引页。总之,用户不能自己为表或索引定义所分配的页数。

DDL的系统表模式分别储存在不同的系统表中,例如:

Create table t1 (c1 int, c2 int);

Create index idx1 on t1 (c1);

在P1的SYSTABLE中添加一笔记录来记录t1的相关信息。

在P2的SYSCOLUMN 中添加两笔记录来记录c1和c2的相关信息。

在P3的SYSINDEX 中添加一笔记录来记录idx1的相关信息。

现在,如果用户使用命令“create table t2 (c3 int, c4 char(10), …)”创建名为t2的表,若P1中有足够的空间则这笔记录将被用于记录t2的相关信息而被添加到P1的SYSTABLE 中,否则,将会为SYSTABLE 分配一个名为P4的新页,并且此笔记录会被添加到P4中。同时,若P2中有足够的空间,则分别记录C3和C4相关信息的两笔记录将被添加到P2的SYSCOLUMN中,否则,将会为SYSCOLUMN分配一个名为P5的新页,并且此笔记录将会被添加到P5中。

版本: DBMaster4.x/5.x

产品: Bundle/Normal

平台: Windows/Linux

平均分: 0 (0 投票)

你不能对该内容发表评论

标签