SYSAMS

sysams 系统目录表中包含使用内置访问方法和那些由 SQL CREATE ACCESS METHOD 语句创建的访问方法所需的信息。

sysams 表具有以下列。
表 1. SYSAMS 表列描述
类型 解释
am_name VARCHAR(128, 0) 访问方法的名称
am_owner CHAR(32) 访问方法所有者的名称
am_id INTEGER 访问方法的唯一标识代码

这对应于 systablessysindicessysopclasses 表中的 am_id 列。

am_type CHAR(1) 访问方法的类型:P = 主要;S = 辅助
am_sptype CHAR(3) 访问方法可存在的空间类型:
  • A 意味着访问方法支持外部空间和智能大对象空间。如果访问方法是内置的(例如 B 型树),那么还支持数据库空间。
  • Dd 表示访问方法仅支持数据库空间。
  • DS 意味着访问方法支持数据库空间和智能大对象空间。
  • Ss 表示访问方法仅支持智能大对象空间。
  • Xx 表示访问方法仅支持外部空间。
  • sx 意味着访问方法支持智能大对象空间和外部空间。
am_defopclass INTEGER 缺省运算符类的唯一标识代码

值为 sysopclasses 表中此运算符类的条目中的 opclassid

am_keyscan INTEGER 辅助访问方法是否支持键扫描

(如果键扫描能够从对 am_getnext 函数的调用中返回键和行标识,那么该访问方法支持键扫描。)(0 = FALSE;非零 = TRUE)

am_unique INTEGER 辅助访问方法是否支持唯一键(0 = FALSE;非零 = TRUE)
am_cluster INTEGER 主访问方法是否支持集群(0 = FALSE;非零 = TRUE)
am_rowids INTEGER 主访问方法是否支持行标识(0 = FALSE;非零 = TRUE)
am_readwrite INTEGER 主访问方法是否可读写(0 = 访问方法只可读;非零 = 访问方法可读/写)
am_parallel INTEGER 访问方法是否支持并行执行(0 = FALSE;非零 = TRUE)
am_costfactor SMALLFLOAT 乘以扫描成本以规范化为针对内置访问方法执行的成本计算的值

扫描成本是 am_scancost 函数的输出。

am_create INTEGER 为此访问方法的 AM_CREATE 用途函数指定的例程

对于 sysprocedures 表中的例程,值 = procid

am_drop INTEGER 为此访问方法的 AM_DROP 用途函数指定的例程
am_open INTEGER 为此访问方法的 AM_OPEN 用途函数指定的例程
am_close INTEGER 为此访问方法的 AM_CLOSE 用途函数指定的例程
am_insert INTEGER 为此访问方法的 AM_INSERT 用途函数指定的例程
am_delete INTEGER 为此访问方法的 AM_DELETE 用途函数指定的例程
am_update INTEGER 为此访问方法的 AM_UPDATE 用途函数指定的例程
am_stats INTEGER 为此访问方法的 AM_STATS 用途函数指定的例程
am_scancost INTEGER 为此访问方法的 AM_SCANCOST 用途函数指定的例程
am_check INTEGER 为此访问方法的 AM_CHECK 用途函数指定的例程
am_beginscan INTEGER 为此访问方法的 AM_BEGINSCAN 用途函数指定的例程
am_endscan INTEGER 为此访问方法的 AM_ENDSCAN 用途函数指定的例程
am_rescan INTEGER 为此访问方法的 AM_RESCAN 用途函数指定的例程
am_getnext INTEGER 为此访问方法的 AM_GETNEXT 用途函数指定的例程
am_getbyid INTEGER 为此访问方法的 AM_GETBYID 用途函数指定的例程
am_build INTEGER 为此访问方法的 AM_BUILD 用途函数指定的例程
am_init INTEGER 为此访问方法的 AM_INIT 用途函数指定的例程
am_truncate INTEGER 为此访问方法的 AM_TRUNCATE 用途函数指定的例程
am_expr_pushdown INTEGER 保留供将来使用是否支持参数描述符(0 = FALSE;非零 = TRUE)

对于包含用途函数例程的每个列,值为相应例程的 sysprocedures.procid 值。

此表中 am_nameam_owner 列的组合索引只允许唯一值。am_id 列具有唯一索引。

有关访问方法函数的信息,请参阅访问方法的文档。