在磁盘上创建简单大对象列时,您可以选择将列数据存储在表空间或单独的 Blob 空间中。通常,可以通过将简单大对象数据存储在单独 Blob 空间中,并将智能大对象和用户定义的数据存储在智能大对象空间中来提高性能。
您还可以将简单大对象存储在光学介质上,但是此处的讨论不适用于用此法存储的简单大对象。
CREATE TABLE examptab ( pic_id SERIAL, pic_desc TEXT IN TABLE, pic_raster BYTE IN rasters )有关在单独的 Blob 空间中存储简单大对象数据的信息,请参阅估计简单大对象占用的页数。
TEXT 或 BYTE 值始终与表的行分开存储;只有 56 字节的描述符与行存储在一起。然而,简单大对象至少要占用一个磁盘页。 该描述符所指向的简单大对象可以与表行(同一表空间中的)驻留在磁盘上的同一组扩展数据块中,也可以驻留在单独的 Blob 空间中。
另一个注意事项是,往来于数据库空间的磁盘 I/O 在数据库服务器的共享内存中进行缓冲。会将页进行存储,以防不久之后又需要这些页,并且在写入页时,在发生实际的磁盘写操作之前,请求程序可以继续处理。 然而,由于 Blob 空间数据预期会很大,因而往来于 Blob 空间的磁盘 I/O 不进行缓冲,并且直至所有的输出均写入 Blob 空间后,才允许请求程序继续进行。