连接服务器上的informix数据库
ADOCONNECTION的connectionstring属性设置如下:
提供程序:microsoft ole db provider for odbc drivers
连接:使用数据源名称,并选择了在odbc中建立的一名称
源码如下:
procedure TForm1.RzGroup1Items1Click(Sender: TObject);
var sqlstr:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
sqlstr:='select company,count(*) as ss from gsi where lydate between :sd and :ed and company[1,4]="1102" and lyflag in ("1","3") and feflag[4]<>1 group by company';
adoquery1.SQL.Add(sqlstr);
adoquery1.Parameters.ParamByName('sd').value:=datetimepicker1.Date;
adoquery1.Parameters.ParamByName('ed').value:=datetimepicker2.Date;
adoquery1.open;
dbgrideh1.Columns.Items[0].FieldName :='company';
dbgrideh1.Columns.Items[1].FieldName:='ss';
dbgrideh1.Columns.items[1].Title.caption:='设备数量';
dbgrideh1.Columns.items[0].Title.caption:='设备名称';
dbgrideh1.Columns[0].Alignment:=tacenter;
dbgrideh1.Columns[0].Title.alignment:=tacenter;
dbgrideh1.FooterRowCount:=1;
dbgrideh1.SumList.Active:=true;
dbgrideh1.Columns[0].Footer.valuetype:=fvtstatictext;
dbgrideh1.Columns[1].Footer.valuetype:=fvtsum;
dbgrideh1.Columns[0].Footer.value:='合计';
expfilename:=rzgroup1.Items[1].caption;
end;
选择了10天时间,点查询后,大约十分钟左右才显示出结果,company有32条数据,SS合计后有约24500条数据.
请问查询速度是不是太慢了,该如何修改下呢?谢谢
ADOCONNECTION的connectionstring属性设置如下:
提供程序:microsoft ole db provider for odbc drivers
连接:使用数据源名称,并选择了在odbc中建立的一名称
源码如下:
procedure TForm1.RzGroup1Items1Click(Sender: TObject);
var sqlstr:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
sqlstr:='select company,count(*) as ss from gsi where lydate between :sd and :ed and company[1,4]="1102" and lyflag in ("1","3") and feflag[4]<>1 group by company';
adoquery1.SQL.Add(sqlstr);
adoquery1.Parameters.ParamByName('sd').value:=datetimepicker1.Date;
adoquery1.Parameters.ParamByName('ed').value:=datetimepicker2.Date;
adoquery1.open;
dbgrideh1.Columns.Items[0].FieldName :='company';
dbgrideh1.Columns.Items[1].FieldName:='ss';
dbgrideh1.Columns.items[1].Title.caption:='设备数量';
dbgrideh1.Columns.items[0].Title.caption:='设备名称';
dbgrideh1.Columns[0].Alignment:=tacenter;
dbgrideh1.Columns[0].Title.alignment:=tacenter;
dbgrideh1.FooterRowCount:=1;
dbgrideh1.SumList.Active:=true;
dbgrideh1.Columns[0].Footer.valuetype:=fvtstatictext;
dbgrideh1.Columns[1].Footer.valuetype:=fvtsum;
dbgrideh1.Columns[0].Footer.value:='合计';
expfilename:=rzgroup1.Items[1].caption;
end;
选择了10天时间,点查询后,大约十分钟左右才显示出结果,company有32条数据,SS合计后有约24500条数据.
请问查询速度是不是太慢了,该如何修改下呢?谢谢
如果直接telnet到服务器上执行上述select查询语句,速度还是挺快的