使用 WITH NO LOG 选项减少临时表的事务日志记录的开销。如果您指定 WITH NO LOG,在临时表上的数据操纵语言(DML)操作将不包含在事务日志记录中。
您在临时数据库中创建的所有的临时表都需要 WITH NO LOG 关键字。在一个集群环境中,当您在辅助服务器上创建临时表时需要 WITH NO LOG 关键字。
如果 ONCONFIG 参数 TEMPTAB_NOLOG 设置成 1 ,则临时表的日志记录被禁用,且所有的临时表都缺省为非日志记录的。 该项设置可以提高使用临时表的操作(例如,HDR 操作)的性能。当 TEMPTAB_NOLOG 设置禁用临时表的日志记录时,不需要 WITH NO LOG选项。有关如何设置 TEMPTAB_NOLOG 参数的更多信息,请参阅 GBase 8s 管理员参考手册。
如果在不使用日志记录的数据库中使用 WITH NO LOG 选项,则 CREATE TEMP TABLE 语句的 WITH NO LOG 关键字不会生效。如果您的数据库不支持事务日志记录,所有的表的行为都将表现为已经指定了 WITH NO LOG 选项。
ALTER TABLE 语句不能更改临时表的日志记录的状态。一旦您关闭了临时表上的日志记录,则将无法再打开它;因此,临时表是始终记录日志的或从不记录日志的。
CREATE TEMP TABLE tab2 (fname CHAR(15), lname CHAR(15)) WITH NO LOG;
Like all data definition language (DDL) statements of SQL, 以上 CREATE TEMP TABLE 语句创建 tab2 是日志记录的。但是,WITH NO LOG 关键字将阻止任何 tab2 上的 DELETE 、INSERT 、LOAD 、MERGE 、SELECT 、UNLOAD 或 UPDATE 操作的事务日志记录。