1、SYSDEPEND sysdepend系统目录表描述每个视图或表与其他视图或表的依赖性。对于每个依赖性,此表中都存在一行,所以基于三个表的视图有三行。sysdepend 表具有以下列。
2、SYSDIRECTIVES Sysdirectives表存储可应用于查询的外部优化器伪指令。客户机应用程序中的查询是 否能够使用这些优化器伪指令取决于客户机系统上环境变量 IFX_EXTDIRECTIVES 的设置,并取决于数据库服务器的配置文件中的 EXT_DIRECTIVES 设置。sysdirectives表具有以下列:
NULL 值在 query 列中无效。在 id 列上有唯一索引。 3、SYSDISTRIB sysdistrib 系统目录表存储数据分发信息以供查询优化器使用。数据分发为优化器提供了详细的表和列信息以改进 SELECT 语句的执行路径的选择。sysdistrib 表具有以下列。
当以方式 MEDIUM 或 HIGH 对某张表执行 UPDATE STATISTICS 语句时,会将信息存储在sysdistrib表中。(UPDATE STATISTICS LOW 不会将值插入到 mode 列中。) 只有用户 gbasedbt 才能选择 encdat 列。 sysdistrib 系统目录表中的每一行都使用 tabid 和 colno 列(为它们收集统计信息)作为键。 对于内置数据类型的列,将类型字段设置为 A。encdat 列存储用 ASCII 编码的直方图,此直方图分为多行,每行包含 256 个字节。 在 GBase 8s 中,对于用户定义的数据类型的列,type 字段设置为 S。encdat 列以多重表示格式存储由 statcollect 用户定义的例程收集的统计信息。对每个 tabid 和 colno 对只存储一行。tabid、colno 和 seqno 列的组合索引只允许这些值的唯一组合。 以下三个 DML 计数器列会记录在生成列分发统计信息时对表执行修改数据行的 DML 操作的计数: nupdates 中的 UPDATE 操作数 ndeletes 中的 DELETE 操作数 和 ninserts 中的 INSERT 操作数 这些计数还可包括 MERGE 语句修改的行。 这些 DML 计数器列会存储在生成分发统计信息时存在的服务器分区中的计数器值。 如果 AUTO_STAT_MODE 配置参数、AUTO_STAT_MODE 会话环境设置或 UPDATE STATISTICS 语句的 AUTO 关键字已启用数据分发统计信息的选择性更新,那么 ninserts、ndeletes 和 ninserts 值可影响 UPDATE STATISTICS 操作是否刷新现有数据分发统计信息。当以 MEDIUM 或 HIGH 方式对表运行 UPDATE STATISTICS 语句时,数据库服务器会比较这些列中的已存储值与分区中的当前值。如果已存储值之和不同于分区页面中的这些当前 sysdistrib DML 计数器值之和,少于 STATCHANGE 表属性或 STATCHANGE 配置参数的设置所指定的阈值,那么不会更新表的列分发统计信息。 4、SYSDOMAINS 不使用 sysdomains 视图。它显示其他系统目录表的列。它具有以下列。
此视图没有索引。 5、SYSERRORS syserrors 系统目录表存储有关错误、警告和参考消息(由使用 mi_db_error_raise( ) DataBlade API 函数的 DataBlade 模块和用户定义的例程返回)的信息。 syserrors 表具有以下列。
要创建新的消息,将一行直接插入 syserrors 表中。缺省情况下,所有用户都可以查看此表,但只有具有 DBA 特权的用户才能对其进行修改。 sqlstate、locale、level 和 seqno 列的组合索引只允许使用唯一值。 6、SYSEXTCOLS sysextcols 系统目录表包含一行,该行描述格式类型 (fmttype) 为 FIXED 的外部表 tabid 中的每个内部列。 sysextcols 表具有以下列。
对于 DELIMITED 或 GBase 8s 格式外部文件,sysextcols 中没有存储任何条目。 可使用 DBSCHEMA 实用程序来编写外部表的描述。要查询有关外部表的这些系统目录表,请使用存储在 systables 中并且 tabtype =“E”的 tabid。tabid 列的索引允许重复值。
|