为临时表和排序文件配置数据库空间

使用临时表或大型排序操作的应用程序需要大量的临时空间。要提高这些应用程序的性能,请使用 DBSPACETEMP 配置参数或 DBSPACETEMP 环境变量以将一个或多个数据库空间指定给临时表和排序文件。

根据创建临时空间的方式,在不设置 DBSPACETEMP 时,数据库服务器对临时表和排序文件使用以下缺省位置:
警告: 如果没有为 DBSPACETEMP 配置参数或 DBSPACETEMP 环境变量指定值,那么数据库服务器将此操作系统文件用于隐式临时表。如果此文件系统的空间不足,无法保存排序文件,那么执行排序的查询将返回错误。同时,在除去排序文件之前,操作系统可能会受到严重影响。

使用为存储临时表和排序文件而专门创建的临时数据库空间可以改善性能。使用 DBSPACETEMP 配置参数和 DBSPACETEMP 环境变量可以将这些表和文件分配到临时数据库空间。

当在 DBSPACETEMP 配置参数或 DBSPACETEMP 环境变量中指定数据库空间时,可以获得以下性能优势:

下表显示用于创建临时表的语句以及有关在何处创建临时表的信息。

创建临时表的语句 记录数据库 WITH NO LOG 子句 FRAGMENT BY 子句 创建临时表的位置
CREATE TEMP TABLE 根数据库空间
CREATE TEMP TABLE 在 DBSPACETEMP 中指定的数据库空间之一
CREATE TEMP TABLE 无法创建临时表。错误 229/196
SELECT ..INTO TEMP 按循环分段(仅限在 DBSPACETEMP 中指定的不记入日志的数据库空间中)
要点: 请使用 DBSPACETEMP 配置参数或 DBSPACETEMP 环境变量来提高排序操作的性能,并防止数据库服务器意外填充文件系统。列出的数据库空间必须由作为未缓冲的设备而分配的块组成。