`

oracle bfile blob

阅读更多
首先,图片是binary格式,另外比较大。所以目前有2种方法:

1. 图片放入DB中。
这种方法需要设置blob字段来存放图片。数据量大的时候造成表很大。

优点:将整个图片库全部放到一张表中,方便管理,成为一个整体。

缺点:表很大后所有数据库操作都很慢

解决:因为图片查询都是查询图片的相关文字信息,所以如果在文字信息
      上合理的建立索引,那么将会极大的提高检索的速度。

2. 图片存放为文件
这种方法只是将图片文件放到系统的一个文件中,在表中存文件路径。

优点:大大的缩小了表的大小,提高了所有相关数据库操作的速度。

缺点:造成了图像和其描述信息的分离,成为分离的两个部分,不便管理。

解决:建立严格的同步管理机制,使得备份等等各种操作都同步进行。

=================================
对于以上2中常见方法,我比较倾向第一种,只要合理的建立索引机制,因该
第一种更方便,或者说更象一个“图片库”。而有时由于某些原因,可能在第一
种的图片描述信息上无法建立合理的索引(例如MySQL目前对中文FullText索引的
支持就不好),此时可以提出另外一种解决方案。(这种方案是我自己某图片库项目
所使用的方法)

3. 图片信息、描述信息各一张表
图片信息放在一张表中,对于的描述信息放在另外一张表中,之间通过某个主键
或者外键的方法进行一一对于。
优点:使得检索信息的表很小,同时也让所有的相关信息都放入到了数据库中。

缺点:需要通过某种机制(主键对应或者外键)的办法来确保记录的一一对应,还
      需要让所有的修改、删除、添加操作都同时对2表成功进行。

解决:通过合理的同步机制,例如事务等,使得记录对应关系保持良好。


第三种方法我做的库,目前共10815张图片,占用磁盘空间1.63G,对4个关键字做
like '%xxx%'方式的检索,所有检索时间在1秒内完成……而且没有使用全文索引……
分享到:
评论

相关推荐

    Oracle BLOB,BFILE大文件存储和FTP传输文件

    使用Oracle的大对象存储类型BLOB,BFILE存储和读取大文件,也包括使用FTP传输文件,如果使用FTP传输文件,需要在服务器端安装Serv-U软件。数据库为Oracle 10g,代码为Visual Studio 2008 VC++开发,软件中的代码有BLOB...

    oracle对大对象类型操作:blob,clob,nclob,bfile

    oracle对大对象类型操作:blob,clob,nclob,bfile

    LOB2Table:将 Oracle CLOB、BLOB、BFILE 或 VARCHAR2 中的 CSV 数据作为表进行查询-开源

    LOB2Table 是一组 Oracle PL/SQL 流水线函数,允许您像普通表一样查询 CLOB、BLOB、BFILE 或 VARCHAR2 中的 CSV 或固定列数据存储。 有关详细说明,请参阅 Wiki。

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    oracle支持的数据类型

    BLOB 二进制数据 最大长度4G CLOB 字符数据 最大长度4G NCLOB 根据字符集而定的字符数据 最大长度4G BFILE 存放在数据库外的二进制数据 最大长度4G ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,...

    北大青鸟Oracle教程集1

    4-4 Raw 和 Long Raw 数据类型 ―用于存储二进制数据 用于存储二进制数据 LOB 数据类型 ―CLOB ―BLOB ―BFILE 数据定义语言 数据定义命令 ―CREATE 命令 ―ALTER 命令 ―DROP 命令 ―TRUNCATE 命令 数据操纵语言 ...

    北大青鸟Oracle教程集2

    4-4 Raw 和 Long Raw 数据类型 ―用于存储二进制数据 用于存储二进制数据 LOB 数据类型 ―CLOB ―BLOB ―BFILE 数据定义语言 数据定义命令 ―CREATE 命令 ―ALTER 命令 ―DROP 命令 ―TRUNCATE 命令 数据操纵语言 ...

    精通Oracle.10g.PLSQL编程

    使用LOB对象 16.1 LOB简介 16.2 DBMS LOB包 16.3 访问LOB 16.3.1 访问CLOB 16.3.2 访问BLOB 16.3.3 访问BFILE 16.4 习题 第17章 使用Oracle系统包 17.1 DBMS_OUTPUT 17.2...

    oracle知识简介

    可以帮你对oracle整体知识的掌握 基本数据类型: CHAR(n) 定长字符串 最大长度为2000 VARCHAR2(n) 变长字符串 最大长度为4000字节 没有默认长度必须指定 NCHAR(n) 用于存储定长为n的Unicode字符最大长度为2000字节 ...

    SQLDirect_6.2.0_Full_Source

    BLOB-fields (including LOB and BFILE for Oracle8) stored procedure support (with mutiple result sets for IBM DB2, Microsoft and Sybase SQL Server) bi-directional and unidirectional result sets ...

    SQLDirect v6.5 for D5-10.1 Berlin Full Source

    BLOB-fields (including LOB and BFILE for Oracle8) stored procedure support (with mutiple result sets for IBM DB2, Microsoft and Sybase SQL Server) bi-directional and unidirectional result sets cached ...

    数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

Global site tag (gtag.js) - Google Analytics