同要样的SQL语句:Select 字段1,字段2... FROM 表名
在SQL Server查询分析器中显示15万左右条记录的表只用27秒,但是我在三层结构中却要差不多2分钟的时间,这是为什么啊?
还有要怎样操作才能同时在DBGRID上显示数据另一边又同时在打开数据库呢?就像在SQL Server里的企业管理器一样,它是一边显示数据一边打开的,但我在三层结构中是等到查询完了才打开的。
在SQL Server查询分析器中显示15万左右条记录的表只用27秒,但是我在三层结构中却要差不多2分钟的时间,这是为什么啊?
还有要怎样操作才能同时在DBGRID上显示数据另一边又同时在打开数据库呢?就像在SQL Server里的企业管理器一样,它是一边显示数据一边打开的,但我在三层结构中是等到查询完了才打开的。
解决方案 »
- 如何在delphi下用代码将excel导入oracle?
- 询问关于使用delphi获取实时外汇信息的问题--寻找接口
- 动态创建窗体和MediaPlayer后怎么Free掉的问题
- DBGrid滚动条拉动问题
- 如何取得数据库里面的一个值???
- delphi 文件互传
- 按条件查询时怎样让数据在edit中显示出来呢?
- 招DELPHI程序员提供实习机会
- 购买源码:delphi编写的C/S“酒店管理系统”、lotus notes编写的“大型OA系统”。
- 'Insert Into a.db Select * From a.db Where Field1=1'这个SQL语句有没有问题?
- 就等你了...
- html文件分析,请大家帮忙解决,我好郁闷呀!
查询应该不要太多时间,关键是传送和显示吧?你可以接收一部分并添加到DBGRID后刷新一下窗体。
如果你在查询分析器中用27秒,那么三层中打开这个SQL正常不会超过35秒
OpenDB;
begin
ADOQuery.Close ;
ADOQuery.SQL.Clear ;
ADOQuery.SQL.Add('SELECT A.xh,A.zwxm,A.ywx,A.ywm,B.xbmc,C.gjzwmc,A.sfzhm,A.jg,');
ADOQuery.SQL.Add('A.csly,A.nl,A.ttmc,A.lxdz,A.dwmc,A.xfzje,A.rzcs');
ADOQuery.SQL.Add('FROM KRLSJL AS A,xb AS B,gj AS C Where A.xb=B.xb and A.gjdm=C.gjdm Order By A.xh');
ADOQuery.Open;
end;在客户端用SocketConnection连接,一个DataSource和一个ClientDataSet和一个DBGrid.
然后通过以下代码调用显示数据:
SocketConnection.AppServer.OpenDB;
ClientDataSet.Active := true;各位看看我以上设计有什么问题呢?