各位弟兄们好,小弟上周刚刚接触Oracle 11g,现在我在向数据库里插入数据的时候,其中里面有一个BLOB字段,我曾经用过Insert tablename values(ID,EMPTY_BLOB()),然后再用Select blobcol from tablename where ID=ID FOR UPDATE 这样确实可以实现存储二进制数据,但是我觉得效率太慢了,可不可以在批量存储的时候直接把二进制数据插入到列里面,具体该怎么实现阿,虚心向各位大侠请教阿。另外BLOB字段的长度不是很大,一般来说每一行中BLOB字段可能在20-40KB之间。

解决方案 »

  1. 忘了说明一下了,我是用OCI来做的
      

  2. 数据库系统中文件附件保存的最佳办法:  
    1. 在数据库中,单独用一个表,处理所有各类文件,只保存文件的信息 TT_BINARY_DATA_INFO (bin_uuid, file_size, file_name,data_type,compress_format,memo,created_dt,created_by,updated_dt,updated_by,updated_cnt) 上面的表中, compress_format 为文件压缩格式,可以不压缩,也可以用 zip 压缩格式,或者其它。  
    2. 在指定目录中,保存文件内容(按年月划分子目录,或者不分子目录),文件名为 uuid.dat详情请见:http://blog.csdn.net/jacklondon/archive/2010/10/26/5966558.aspx
      

类似问题 »