智能大对象是支持对数据进行随机访问并且通常可恢复的一类大对象。
随机存取功能允许您查找和读取智能大对象,就好像它是操作系统文件一样。
智能大对象对于具有大量存储器需求的不透明数据类型也很有用。(请参阅不透明数据类型中对不透明数据类型的描述。)它们具有
242 个字节的理论大小限制和磁盘容量确定的实际限制。
GBase 8s 支持下列智能大对象数据类型:
- BLOB
- 存储二进制数据。有关此数据类型的更多信息,请参阅 BLOB 数据类型 页上的描述。
- CLOB
- 存储文本数据。有关此数据类型的更多信息,请参阅 CLOB 数据类型。
GBase 8s
将智能大对象存储在智能大对象空间中。智能大对象空间是包含只存储 BLOB 和 CLOB
数据的一个或多个块的逻辑存储器区域。有关如何定义智能大对象空间的信息,请参阅《GBase 8s 性能指南》。
当定义 BLOB 或 CLOB 列时,可以确定下列大对象的特征:
- LOG 和 NOLOG:数据库服务器是否应该根据当前数据库日志记录方式记录智能大对象。
- KEEP ACCESS TIME 和 NO KEEP ACCESS TIME:数据库服务器是否应该跟踪智能大对象的最后访问时间。
- HIGH INTEG 和 MODERATE INTEG:数据库服务器是应该使用智能大对象空间页眉和页脚来检测数据损坏 (HIGH INTEG),还是仅使用页眉来检测
(MODERATE INTEG)。
使用这些特征可能会影响性能。有关信息,请参阅《GBase 8s 性能指南》。
当 SQL 语句访问智能大对象时,数据库服务器不会发送实际的 BLOB 或 CLOB 数据。相反,它建立指向数据的指针并返回此指针。然后,客户机应用程序可以在对智能大对象的打开、读或写操作中使用此指针。
要从客户机应用程序中访问 BLOB 或 CLOB 列,请使用以下某个应用程序编程接口 (API):
- 在 GBase 8s ESQL/C 程序中,使用智能大对象 API。(有关更多信息,请参阅
GBase 8s ESQL/C 程序员手册。)
- 在 DataBlade 模块中,使用客户机和服务器 API。(有关更多信息,请参阅 GBase 8s DataBlade API 程序员指南。)
有关智能大对象的信息,请参阅 GBase 8s SQL 指南:语法 和《GBase 8s 数据库设计和实现指南》。