怎么用多线程提高数据库访问效率(100分)

  • 主题发起人 主题发起人 yufengyou
  • 开始时间 开始时间
Y

yufengyou

Unregistered / Unconfirmed
GUEST, unregistred user!
c/s模式中,要多次取出大量数据进行大量处理.
也就是客户段和服务器段都有工作量,但是单线程下是穿行
我想用多线程来提高速度,但结果相反,放而慢了
县城1 : 读--写---读....
县城2 : 读--写---读....
县城3 : 读--写---读....
用adoconnection,adoquery...
 
不同客户的处理和多线程没有关系
 
在数据库的读写的时候似乎没有必要用多线程。(个人观点)
基本上效率问题不是在这里的。
李维的时候也的比较清楚。
 
如果你真的要用多线程来数据库处理的话,那么这样:
把数据库组件放在一个datamodule1上,然后把datamodule1当做一个类
来使用申明:datamodule:array [1..10]of tdatamodule1;
然后创建一个线程你就创建一个tdatamodule1的实例:
datamodules[threadcode]:=tdatamodule1.create(self);
然后在相应的线程里就用
datamodule[threadcode].query1.close;
.......
等来实现。
当然当你结束一个线程时你也把相应的datamoduel[threadcode].free;
这样做就可以避免冲突等问题。
 
我也遇到同样问题,请各位继续指点。
 
后退
顶部