小弟要做一个简易的信息查询系统:信息是大量的图片文件(可能有10万张以上),目标是要将这些信息有效的管理,主要是提供查询功能,通过查询文件名,然后打开图片文件,显示出来。有几个问题想请教:
1)扫描的文件比较大,再加上文件很多,会占用硬盘很大空间(可能有几个G),怎么处理比较合适?采用什么查询算法比较快捷?
2)扫描的文件是一些文字和图件,在尽量压缩的怎么保证清晰度,即那一种图片格式最好?
3)这样的系统,采用数据库合不合适?采用哪种比较合适?不合适的话,有何良方?

解决方案 »

  1.   

    我也想知道,刚做完的系统用ACCESS,图片存在数据库里,每张大约600K,数据库到达00M左右查询速度就不行了,所以我想如果是数据量很大的话最好用SERVER2000吧,查询可以这样,用服务器端游标,一次只显示一张图片,否则非常慢。如果可能,图片最好不要存在数据库中。
      

  2.   

    我也想知道,刚做完的系统用ACCESS,图片存在数据库里,每张大约600K,数据库到达600M左右查询速度就不行了,所以我想如果是数据量很大的话最好用SERVER2000吧,查询可以这样,用服务器端游标,一次只显示一张图片,否则非常慢。如果可能,图片最好不要存在数据库中。
      

  3.   

    我对oracle数据库比较熟悉,在oracle数据库中可以使用大对象(blob或long law)字段类型去保存图片和文档或者任何类型的文件。
    我在程序中是这样实现的:在浏览时用户并不一定要同步显示图片,而是可能他只要求浏览特定信息的相关图片,所以可以设计两个表:
    Table_Info(信息表):用于存储非图片的基础信息;Table_Pic(图片表):用于存放图片;两表间可用主键关联如BH(编号),用户的一般操作只针对对信息表,当用户要浏览特定图片时,根据编号(BH)去图片表中查询相关记录并显示给用户。
    至于图片过大的话,可以使用相关的Delphi压缩控件(在网上可以找到)它的压缩率和winrar差不多,压缩后存入数据库,取出后解压缩再显示给用户,压缩前最好将图片转换成jpg或gif的格式。