如题,本人在数据库里存放文件大于2M(以IMAGE格式存放,且数据库与程序不在同一机器上) 用SQL读取时超时;现在急需解决方法,如何提高读取效率。

解决方案 »

  1.   

    这个具体得看你的需求了。
    sql优化了。
    看你想返回什么数据,
      

  2.   

    用异步吧,同步超时太正常了!另外,在ASP.net里为啥要把图片存sql里呢?直接存磁盘文件,SQL里放个URL比较正常一点吧!
      

  3.   

    我返回的就是.ashx文件把他读取出来直接下载到本地,楼上的有什么好方法吗?
      

  4.   

    2M ...  又不是同一个机器  那就存在传输问题
    首先你在数据库本机提取数据,如果没问题, 那么就是传输速度有问题
    比如两台机器的传输速度是100k/s ,那么2M就需要大约20秒时间,这个你可以自己做测试,如果你设置了读取时间小于传输时间,那超时是肯定的。
    比如你提取一个list,100项,每项里面都有个2m的内容的话,你想想得花多少时间我想这不是读取效率的问题,而是你文件本身太大,可能需要考虑换一种存储方式吧。
      

  5.   

    现在已经成即定的事实,我不会去提取一个LIST,我只会单独去提取,
    不知你有什么好的其他存储方式吗?
      

  6.   

    文件太大了就不要存数据库了吧,存一个url吧,找的时候直接去检索