使用 Logging TYPE 选项指定该表具有特殊特性,以提高对它的各种批量操作。
这里 STANDARD ,CREATE TABLE 语句的缺省选项 ,指定日志记录表,RAW 指定非日志记录表。
- 选项
- 作用
- STANDARD
- 日志记录表允许回滚、还原和从归档恢复。这是缺省值。OLTP 数据库使用这种类型的还原和限制功能。
- RAW
- 非日志记录表不支持主键约束、唯一约束或参考约束。RAW 表可拥有 NOT NULL 约束和 NULL
约束(但不能将这两个约束设置在同一列)。它们可以被索引和更新。使用这种类型以快速加载数据。
Warning: 使用 RAW 表以快速加载数据。建议您在事务中使用此表前或更改表中的数据前,将日志记录类型更改为 STANDARD
并执行零级备份。如果您必须在事务中使用 RAW 表,则将其设置为 Repeatable Read 隔离级别或者以互斥方式锁定该表以防止并发问题。
该 Logging TYPE 选项可以将非日志记录表(例如: RAW 表)转换为 STANDARD
表,以支持事务日志记录。如果使用此功能,您必须注意数据库服务器没有检查该表上是否在执行一个零级归档。
RAW 表上的操作不会被日志记录及恢复,因此 RAW 表一直处于风险中。当数据库服务器将一个非日志记录的表转换为一个 STANDARD
表类型时,您有责在事务使用此表前或更新表中数据时,执行零级备份。否则,执行失败可能引起在服务器崩溃的事件中的还原问题。
有关表的日志记录类型的更多信息,请参阅 GBase 8s 管理员指南。
该 Logging TYPE 选项具有以下限制:
- 在此日志记录表从其它日志记录类别变更为 STANDARD 之前,您必须执行零级归档。
- 该表不能是 TEMP 表,并且您不能将表的任一这些类型的变更为一个 TEMP 表。
以下示例将一个非日志记录表更改为一个使用事务日志记录的表:
ALTER TABLE tabnolog TYPE (STANDARD);
以下示例将一个日志记录表更改为非日志记录表:
ALTER TABLE tablog TYPE (RAW);