外部表的系统目录条目

可查询系统目录表,以确定外部表的状态。

每次创建外部表时,GBase 8s 都会更新 sysexternalsysextdfiles 系统目录表。指定外部格式类型 (fmttype) FIXED 时,将更新 sysextcols 系统目录表。

表 1. 外部表系统目录条目
表名 描述
sysexternal 存储有关每个外部表的信息。
sysextdfiles 存储有关外部表数据文件的信息
sysextcols 存储有关类型为 FIXED 的外部表的信息

请参阅《GBase 8s SQL 指南:参考》以获取更多信息。

创建外部表时,将在 systables 系统目录中插入行;但是,除非在创建外部表时指定了 NUMROWS 子句,否则 nrows(行数)和 npused(所用数据页数)列可能无法精确反映外部表所用行数和数据页数。

创建外部表时如果没有为 NUMROWS 子句指定值,GBase 8s 就无法确定外部表中的行数,因为数据位于数据库外的数据文件中。GBase 8s 通过插入较大值 (MAXINT – 1) 来更新 systables 系统目录中的 nrows 列,并根据 nrows 的值计算所用数据页数。优化器稍后将使用 npusednrows 中存储的值来确定最有效的执行计划。尽管无需精确指定 NUMROWS 子句,但是指定得越准确,nrowsnpused 的值就越准确。