Collection Contents 上一页 下一页 PDF

ASA SQL 参考

系统表

SYSATTRIBUTE 系统表


创建 SYSATTRIBUTE 和 SYSATTRIBUTENAME 是为了将有关数据库对象的新信息添加到系统表,而不用更改模式。

SYSATTRIBUTE 的每一行都描述一个系统对象,例如特定的表或索引。指定属性时会添加行;例如,每个具有表页可用百分比设置的表都添加到 SYSATTRIBUTE。与此类似,仅当索引深度增加到 2 时,SYSATTRIBUTE 中才会出现一个索引深度行。

当索引被更新时,所有索引(包括目录表上的索引)的统计信息都会得到维护。VALIDATE 语句会校验指定索引的统计信息的准确性,并在其不准确时生成错误消息。这可以为优化程序提供准确的统计信息,而几乎没有任何性能成本。统计信息保持在 SYSATTRIBUTE 中,其形式为索引的每项统计信息占一行。

object_type object_id attribute_id(来自 SYSATTRIBUTENAME sub_object_id1 sub_object_id2 attribute_value
表页可用百分比 T table_id NULL NULL 每个表页中的剩余空闲空间百分比
聚簇索引 T table_id 2 index_number NULL NULL
不同的键值数量 I table_id 3 NULL NULL 不同的键值数量
叶页数 I table_id 4 index_number NULL 叶页数
Index depth I table_id 5 index_number NULL index depth
最大索引键值距离 I table_id 6 index_number NULL 包含相同键值的行之间相距页数的最大值

SYSATTRIBUTE 表中的列具有下列特性:

列名 列类型 列约束
object_type CHAR(1) NOT NULL
object_id UNSIGNED INT NOT NULL
attribute_id UNSIGNED INT NOT NULL。外键引用 SYSATTRIBUTENAME。
sub_object_id1 UNSIGNED INT
sub_object_id2 UNSIGNED INT
attribute_value LONG VARCHAR

object_type    该属性描述的对象类型。例如,T 表示表,I 表示索引。

object_id    特定对象的 ID。对象 ID 信息可在执行 SELECT * FROM SYSTABLE 后从 table_id 列中得到。

attribute_id    代表所描述的属性的编号。每个属性 ID 的描述性名称都存储在 SYSATTRIBUTENAME 中。

sub_object_id1    属性的附加信息,没有附加信息时为 NULL。

sub_object_id2    属性的附加信息,没有附加信息时为 NULL。

attribute_value    属性的值。


Collection Contents 上一页 下一页 PDF