aData: OleVariant;
ADODataSet.CommandText:="select t.*,gs.Id As 公司ID,gs.公司名称,zm.Id As 账目ID,zm.账目名称,jh.Id As 计划id,jh.计划名称,gc.工程编号,gc.工程名称 ,sgd.名称 as 施工队名称,yh.姓名 as 登记人,yhsh.姓名 As 审核人员,hzplan.汇总表id,zt.名称 As 状态名称,decode(t.施工队性质,'0','内部施工队','1','外部施工队') as 内外施工队
from 材料计划申请表 t,工程表 gc,施工队 sgd,Dic_状态 zt,计划表 jh,账目表 zm,公司表 gs,系统_用户表 yh,系统_用户表 yhsh,已汇总材料计划 hzplan
where t.工程id=gc.Id And t.审批状态=zt.代码(+) And zt.对象='材料计划申请' and gc.计划id=jh.id and jh.账目id=zm.id and zm.公司id=gs.id and t.id=hzplan.申请表id(+) and t.施工队ID=sgd.id and t.登记人id=yh.Id And t.审核人员id=yhsh.id(+) and ((审批状态='9' or 审批状态='7'))"
//语名1
aData:=TDataSetProvider.GetRecords(-1,aRecsOut,ord(GrReset)); //需时30秒
其中TDataSetProvider的dataset是一个ADODataSet,ADODataSet查出600多条记录,在PL/SQL里面直接运行该ADODataSe的SQL耗时1秒钟。但是中间件运行“语名1”耗时30秒,客户端反应变得非常慢,请问怎么提高速度??谢