各位兄弟,请教了。我现在做一个数据库管理系统,难点在每个记录都对应一个到多个图片,要数据和图片一块显示出来。(图片太多,存储于数据库中会很大,很慢)
我现在的设计方案是这样:
 1.服务器端数据存储到数据库,图片以编码为名称存储在一个文件夹下,对此文件夹提供ftp下载服务
 2.客户端按查询得的编码,下载图片到客户端。
 3.对下载到的图片产生缩略图。
 4.将缩略图与数据写入客户端的一个临时数据库中。
 5.界面上的数据就采用DBCtrlGrid1将(数据+图片)成块显示出来。
以上是小弟的初步方案,我现在担心的是一旦一次要下载图片的图片很多时,会不会很慢?第四步是否
必要要将数据+图片同时写入数据库,因为这一步会相对耗时很多?是否有更好的办法
小弟不知各位还是否有更好的方案,能否告知?我的方案也请各位指出不足,谢谢各位了

解决方案 »

  1.   

    考虑,在上传的时候,产生缩略图,放到服务器数据库中。具体图片如果比较大,可以存入目录中。当用户点击缩略图时,再通过FTP传输实际的图片。好处:
    1,缩略图一般比较耗时,可以一次生成,多次使用
    2,图片只有用户点击查看时才传输过来,减少传输量。如果需要比较快的响应速度,可以考虑启动一个线程在后台把图片FTP下来。
    3,简化程序,不用产生临时数据库
      

  2.   

    keyz(keyz) 你的想法确实不错,
    可你想到了吗,1.缩略图如何存储于服务器上不下载到客户端,而使客户端可以浏览?
    2.不用产生临时数据库又如何达到多数剧显示的DBCtrlGrid1的效果呢?
    讨教了
      

  3.   

    缩略图是存在数据库里,和数据一起select下来,就不用建临时数据库了。
      

  4.   

    你可以以流的形式保存在数据库
    这样比你的方法安全一些
    STREAM,查查资料就可以
      

  5.   

    keyz(keyz) :缩略图是存在数据库里:对 于2--5万笔数据运行情况会是怎样呢?会不会很慢
      

  6.   

    hhzqf1980(hh):以流的形式保存在数据库。
     我用的sqlsever2000,你的意思是将图片存储到image字段里吗?这岂不又绕回来了
      

  7.   

    可以保存到IMAGE字段中,打开数据库时,不要选择这个字段,这样不影响速度,
    需要看哪条记录的图片时,再用另外一个QUERY从服务器上单独读取这个字段显示。
      

  8.   

    lxjssy() :不是这样的,数据查询出来后,数据+图片就得都显示出来。
      

  9.   

    keyz(keyz) 不用全读,一次估计不会超过100笔,我只是担心频繁的查询对于如此大表(缩略图表)速度会不会成问题,其实我也很赞同你的意见