关于delphi7编写的webservice读oracle数据库的效率问题!(100分)

  • 主题发起人 主题发起人 cxhws
  • 开始时间 开始时间
C

cxhws

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi7写了一个CGI类型的webserivce,主要功能是连接oracle数据库,读取表里面的信息,其中有一个表有200多万条记录,客户端经常对这个表进行模糊查询,一般都在10秒左右才能出来,感觉比较慢。
webservice写的很简单,就是一个ADOConnection1,ADOQuery1,DataSetProvider1。
客户端采用,SoapConnection1,ClientDataSet1进行访问。
不知道大家有什么好的优化方法,请多多帮忙,谢谢!
 
其实你这个问题应该与使用WebService没有关系.
你如果直接用其它方式也应该很慢.
在200多万第记录中查找, 速度是不快. 你可以使用多个查找线程, 将200多万条的表分成10个线程(或更多)来找, 每个表使用一个有索引的字段作为附加条件. 再将查询后的结果合并到一个ClientDataSet中.
这样并不会提高查询的速度, 只是会使结果一部分一部分的出现, 提高影响速度...
 
感谢楼上,但是我感觉还是webservice的问题,我们用.net写的webservice访问同一个数据库同一个表,速度就比较快的。
 
帮顶!
╭=========================================╮
80G海量源代码,控件,书籍全免费狂下不停!
http://www.source520.com

╰=========================================╯
 
CGI 每次都要重新加载程序,重新连接数据库,然后 查询 传输,可能很难提高。
改成 ISAPI 方式要快一些。
 
接受答案了.
 
后退
顶部