使用临时智能大对象可存储不需要从备份复原或在快速恢复中记录重放的文本或映像数据(CLOB 或 BLOB)。临时智能大对象将在该用户会话中持续,并且比智能大对象更快更新。
除非在
ifx_lo_specset_flags 或
mi_lo_specset_flags
函数中设置了 LO_CREATE_TEMP 标志,否则将以与创建永久智能大对象相同的方式创建临时智能大对象。使用
mi_lo_copy 或
ifx_lo_copy 从临时智能大对象创建永久智能大对象。
有关创建临时智能大对象的详细信息,请参阅
GBase 8s DataBlade API 程序员指南。
重要: 只可在临时表中存储指向临时大对象的指针。如果您将它们存储在标准表中并重新引导数据库服务器,那么结果会生成一条错误信息,称大对象不存在。
下表比较了标准和临时智能大对象。
表 1. 临时和标准智能大对象
特征 |
智能大对象 |
临时智能大对象 |
创建标志 |
LO_CREATE_LOG 或 LO_CREATE_NOLOG |
LO_CREATE_TEMP |
回滚 |
是 |
否 |
日志记录 |
是,如果打开 |
否 |
持续时间 |
永久(直到用户将其删除) |
在用户会话或事务结束时删除 |
存储的表类型 |
永久或临时表 |
临时表 |