加载数据集/查询更快

时间:2015-11-13 11:57:21

标签: delphi delphi-xe2 tcxgrid

我有一个应用程序,只需单击一个按钮,数据库表中的所有记录都会加载到cxGrid中(通过tadquery / datasource)。当用户插入记录时,记录数量会增加。

我只是想知道是否有任何我需要做或应该做的事情,以确保加载所有记录不会花费太长时间。

这是我点击按钮时正在做的事情:

  User-Agent
  Host
  Accept
  Connection

建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

显然,这不是一项特别严格的测试,但是在下面的测试应用中,将GridMode设置为True会导致数据集被打开并且网格填充大约125毫秒(对于7k 22列行)与900ms相比,设置为False

procedure TForm1.Button1Click(Sender: TObject);
var
  T1 : Integer;
begin
  if qNames.Active then
    qNames.Close;
  T1 := GetTickCount;
  cxGrid1DBTableView1.DataController.DataModeController.GridMode := CheckBox1.Checked;
  qNames.Open;
  Caption := IntToStr(qNames.RecordCount) + ':' + IntToStr(GetTickCount - T1) + ':' + IntToStr(qNames.FieldCount);
end;

这是将cxGrid中的所有内容设置为默认值,只是我已将DataController的KeyFieldNames设置为数据集的PK。