delphi adoquery 查询

场景:delphi顶用ADOquery查询

delphi中用ADOquery查询
我用delphi做了一个查询系统,是用ADOquery访问数据库的,现在数据库的数据量越来越大,查询速度也越来越慢,查询结果是显示在dbgrid中的,一般查询结果不是直接显示在dbgrid中吗,现在查询结果在dbgrid中显示的过程很慢,看到滚动条慢慢下拉最后才显示完,这种情况我要怎么处理能提高这个查询速度啊?
Delphi 数据库 ADOquery

------解决方案--------------------
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页
------解决方案--------------------
引用:
你首先要知道是查询数据慢还是DBGIRD显示数据慢。
查询数据慢的话用索引什么的解决
显示数据不般不会很慢除非你显示十几万几十万的数据。
这样的话,用分页

十几万条数据查询起来应该不慢的,估计是显示在dbgird里面的速度慢了。
------解决方案--------------------
引用:
Quote: 引用:

考虑用一下其他的grid控件,rzdggrid,cxgrid试试看。
我这个查询结果也就两千多条,怎么会这么慢呢?没理由啊


你应该是在查询后又对每笔记录循环吧,循环的时候按下面的处理试下:

加上DisableControls和EnableControls

procedure TfmMain.Button1Click(Sender: TObject);
begin
  ADOQuery1.DisableControls;
  try
    First;
    while not Eof do
    begin

      Next;
    end;
  finally
    ADOQuery1.EnableControls;
  end;
end;