用adoquery控件打开存有图片的sql数据库时,内存占用很大,竟然上到1G。有没有办法可以解决呢/急死我了谢谢

解决方案 »

  1.   

    image1.Picture.Graphic.SaveToStream(strm);   adoquery1.Append; 
        strm.Position :=0;
        tblobfield(adoquery1.FieldByName('myimage')).LoadFromStream(strm);
        if (uppercase(ext) = '.JPG') OR ( uppercase(ext) = '.JPEG') THEN
       adoquery1.Post ;上面是保存图片时的代码
    如果只有十几条记录,倒不是很慢,后来我添加了一些记录后,随着记录的增加,打开表后内存占用空间跟着增加。
    我在adoqueyr查询里面如果不显示图片的字段,那么内存就不会占用太多,如果加了这个字段,内存一下子占用很多。
      

  2.   

    查询时不要用 Select * 而是只列出必要的字段。
    不要一次返回过多的记录,如每次20条做为一页,用户查看下一页面时在返回后面的数据。