4.5.4 大对象类型

4.5.4 大对象类型

字符大对象clob 二进制大对象blob

许多当前的数据库应用需要存储可能很大(KB级)的属性,例如一张照片;或者非常大的属性(MB级甚至GB级)。例如高清晰度的医学图像或视频片断。因此SQL提供字符数据的大对象数据类型(clob)和二进制数据的大对象数据类型(blob)。在这些数据类型中字符”LOB“代表” Large OBject“。例如,我们可以声明属性:

1
2
3
book_rewiew clob(10KB)
image blob(10MB)
movie blob(2GB)

对于包含大对象(好几个MB甚至GB)的结果元组而言,把整个大对象放入内存中是非常低效和不现实的
相反,一个应用通常用一个SQL查询来检索出一个大对象的”定位器“,然后在宿主语言中用这个定位器来操纵对象,应用本身也是用宿主语言书写的。例如,JDBC应用编程接口(5.1.1节描述)允许获取一个定位器而不是整个大对象;然后用这个定位器来一点一点地取出这个大对象,而不是次取出全部,这很像用一个read函数调用从操作系统文件中读取数据。