我的一个表中的字段数不多(不妨假设字段为c1,c2,c3),但是记录不少,大于1000000条,我用AdoQuery来查询该表的记录,不知道如何在AdoQuery中查找符合以下条件的记录:
    查找c1<'abc'并且c2='def'中c1最大的那条记录。locate好像不行,他不支持不等式的条件,用filter也不合适,在上百万条记录中过滤出几条数据,性能太低了。各位高手有何办法?
    另外,为了性能方面的考虑,AdoQuery.CursorLocation:=clUserServer

解决方案 »

  1.   

    用sql把,
    select max(field) from table where c1<'abc' and c2='def'
      

  2.   

    你既然用了adoquery了
     为什么不用sql呢
           agree with guorui_wh
    select max(field) from table name where cl<'*' and c2='*';
      

  3.   

    各位说的方法都需要多次从数据库中检索数据,甚至我查找一次就需要检索一次,我希望只在开始检索一次,以后的查找都在AdoQuery中进行
      

  4.   

    象这样的数据库用SQL查也行,不过条件一定不能太宽松,不要的数据一定过滤出去
      

  5.   

    另外AdoQuery的CachSize属性一定要设大一些,一般是500,而默认值为1,这个值十分不好。