Ado多线程的效率问题 ( 积分: 200 )

  • 主题发起人 主题发起人 lfzxs
  • 开始时间 开始时间
L

lfzxs

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADO单线程处理500条SQL总耗时47172毫秒平均每条处理88毫秒,5线程是35641毫秒平均321毫秒。<br><br>效率提高不到30%,平均时间翻了4倍,这是怎么回事???
 
为什么线程多了效率却没什么提升啊,哪位大大知道啊?!
 
多线程不能提高速度;数据库是对应硬盘上的一个文件,最终还是多个线程一个一个串行访问文件的<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=3838846
 
我查的是远程的MSSQL服务器
 
总耗时降低了就可以了啊<br>另外mssql的并行处理能力不是很强的
 
处理500条SQL总耗时47172毫秒是你设计时在某些地方出了问题,我处理1000条SQL也不要这么多时间。<br>你很可能是在程序不停的打开数据库,这样当然会用更时间呢。<br>我建议你把500条SQL全部写到后数据库储存过程,然后再执行就不要这么多时间了。
 
因为是在模拟客户端请求,所以每条都会打开一下数据库!
 
如果是在同一台机子上运行多线程的话,比原先更慢些是不奇怪的,因为服务器处理总量不变,但客户端因为多线程所以要多些额外的资源分配等等的消耗
 
Midas是怎么处理的?
 
关键是你的语句,你这样说只能说明表面现象,是不是你的语句导致产生很多锁了,频繁打开关闭表了?再有,你线程太多到服务器也得串行,所以优化语句是关键
 
我是在模拟多个客户端的请求,语句基本一样只是条件不一样。
 

Similar threads

S
回复
0
查看
850
SUNSTONE的Delphi笔记
S
S
回复
0
查看
782
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
755
SUNSTONE的Delphi笔记
S
后退
顶部