[QDB] PostgreSQL 直接连接打开数据集与 UniDAC 的速度对比

【注】本对比只是一个中间结果,不代表最终稳定测试版结果。连接的是官网服务器上的演示数据库,测试代码如下:

var
  T1, T2: Int64;
  I: Integer;
begin
FProv.ServerHost := 'www.qdac.cc';
FProv.ServerPort := 端口号也藏掉;
FProv.UserName := 'qdac';
FProv.Password := '这块密码藏掉了';
FProv.Database := 'QDAC_Demo';
try
  FProv.Open;
  UniConnection1.Open;
  T1 := GetTickCount;
  FProv.OpenDataSet(FDataSet, 'select * from information_schema.tables'); //
  T1 := GetTickCount - T1;
  T2 := GetTickCount;
  UniQuery1.SQL.Text := 'select * from information_schema.tables';
  UniQuery1.Open;
  T2 := GetTickCount - T2;
  if FDataSet.Active then
    begin
    Memo1.Lines.Add('数据集打开成功,返回:' + IntToStr(FDataSet.RecordCount) + '条记录');
    end;
  Memo1.Lines.Add('QDAC:' + IntToStr(T1) + 'ms');
  Memo1.Lines.Add('UniDAC:' + IntToStr(T2) + 'ms');
finally
  for I := 0 to DBGrid1.Columns.Count - 1 do
      DBGrid1.Columns[I].Width := 120;
  if FProv.Connected then
    begin
    Memo1.Lines.Add('服务器已连接');
    Memo1.Lines.AddStrings(FProv.Params);
    end
  else
    Memo1.Lines.Add('服务器连接失败:' + FProv.LastErrorMsg);
end;

最终的测试结果速度要快于UniDAC,下面是其中一次的测试结果,约快一倍左右。

分享到: