临时表空间用于保存数据库管理器在执行排序或连接之类的操作时需要的临时数据,因为这些活动需要额外的空间来处理结果集。 使用 CREATE TABLESPACE 语句的变体来创建临时表空间。
关于本任务
系统临时表空间用来存储系统临时表。 因为系统临时表只能存储在系统临时表空间中,所以数据库必须始终至少有一个这样的表空间。 创建数据库时,定义的三个缺省表空间中的一个便是名为“TEMPSPACE1”的系统临时表空间。 至少应该有一个具有数据库中存在的用户表空间的各个页大小的系统临时表空间,否则某些查询可能会失败。 更多信息请参见系统、用户和临时数据表空间。缺省情况下,创建数据库时并不会创建用户临时表空间。 如果应用程序需要使用临时表,那么您必须创建临时表所驻留在的用户临时表空间。 与常规表空间一样,可在并非 IBMTEMPGROUP 的
任何数据库分区组中创建用户临时表空间。 创建用户临时表时使用的缺省数据库分区组是 IBMDEFAULTGROUP。
限制
对于分区环境中的系统临时表空间而言,在创建系统临时表空间时,只能指定数据库分区组 IBMTEMPGROUP。
过程
- 要创建除缺省的 TEMPSPACE1 以外的系统临时表空间,请使用包含关键字 SYSTEM TEMPORARY 的
CREATE TABLESPACE 语句。
例如:
CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp
MANAGED BY SYSTEM
USING ('d:\tmp_tbsp','e:\tmp_tbsp')
- 要创建用户临时表空间,请使用包含关键字
USER TEMPORARY 的 CREATE TABLESPACE 语句。
例如:
CREATE USER TEMPORARY TABLESPACE usr_tbsp
MANAGED BY AUTOMATIC STORAGE
- 要确定需要的临时表空间大小,请使用下表。
临时 表空间的页面大小 |
行大小限制 |
列计数限制 |
4K |
4 005 |
500 |
8K |
8 101 |
1 012 |
16K |
16 293 |
1 012 |
32K |
32 677 |
1 012 |
如果临时表包含至少一个变长字符串列 (VARCHAR , VARBINARY 或 VARGRAPHIC) ,并且 extended_row_sz 数据库配置参数设置为 ENABLE ,那么临时表空间可支持最多 1048319 字节的行大小。