使用 DBSPACETEMP 配置参数来指定 dbspace 列表,数据库服务器用来全面地管理临时 表存储。 DBSPACETEMP 通过启用数据库服务器跨多磁盘有效地拓展临时表 I/O。备份期间,数据 库服务器还使用临时 dbspace 来保存数据的前映像,这些数据在发生备份时会被重写。
onconfig.std 值
未设定。临时表存储在 root dbspace 中。
分隔符
逗号或冒号(无空白)
值
一个或多个 dbspace 名称。这些 dbspace 可是标准 dbspace、临时 dbspaces 或二者都是。 用冒号号或逗号分隔 dbspace 名称。列表长度不可超过 254 字节。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
DBSPACETEMP 可包含非缺省页大小的 dbspace,但是 DBSPACETEMP 列表中的所有 dbspace 必须有相同的页大小。
如果客户端应用程序需要指定一个 dbspace 的替代列表来用于临时表定位,则客户端可使 用 DBSPACETEMP 环境变量来罗列。仅当您使用 UPDATE STATISTICS 的 HIGH 选项 时,数据库服务器才使用 DBSPACETEMP 环境变量指定的存储定位。 如果在 DBSPACETEMP 配置参数或环境变量中同时罗列了标准 dbspace 和临时 dbspace,则引用下列规则:
⚫ 如果空间充足,则在临时 dbspace 中创建排序、备份、隐式和非日志显式临时表。
⚫ 不用 WITH NO LOG 选项,在标准(而非临时)dbspace 中创建显式临时表.当您用 onspaces 实用程序创建临时 dbspace 时,数据库服务器不适用新创建的临时 dbspace,直到您设置 DBSPACETEMP 配置参数或环境变量并重启服务器。 DBSPACETEMP 环境变量立即生效并取代 DBSPACETEMP 配置参数。
使用 GBase 8s 散列联接溢出(Hash Join Overflow)和 DBSPACETEMP
如果您不设置 DBSPACETEMP 环境变量或 DBSPACETEMP 配置参数,则 GBase 8s 使 用操作系统目录或文件来指向一些数据库操作引起的任何溢出。 您可以下列方式指定操作系统目录或文件:
⚫ 带有 GROUP BY 子句的 SELECT 语句
⚫ 带有 ORDER BY 子句的 SELECT 语句
⚫ 散列联接操作
⚫ 嵌套循环联接操作
⚫ 索引构建
排序溢出文件的位置
下表罗列您可使用来指定排序溢出文件的位置的环境变量和 ONCONFIG 配置参数。
PSORT_DBTEMP 环境变量 在环境变量中指定的位置
DBSPACETEMP 环境变量 在环境变量中指定的位置 ONCONFIG 文件中指定的
DBSPACETEMP 配置参数 ONCONFIG 文件 DBSPACETEMP 配置参数中指定 的 dbspace