• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

delphi数据库中Connection与Query连接数量问题思考

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
今天闲着没事,测试了一下Connection连接MSSQL,可以承受多少连接。
   1.看看ADOConnection的连接数:写了一个代码,动态创建,测试了10000个连接,花了大约5~10分钟创建和连接,似乎没有啥事情。
   2.看看一个ADOConnection+N个Quary,同样是创建了10000个,也没有问题。
 
   所以,一般中小公司(500)中connection个数还是自己看着办吧。当然在并发中的处理,还是要自己处理的,例如添加锁什么的。
  3.问题与思考:那么,在实际应用中,对系统而言,是功能单独分开用Connection,还是一个Connection+N个quary?有什么好处,这个请高手们可以讲讲。
4.我打算这样做,朋友们看看是否有必要:
   Connection我用两个,一个专门用于取数据 ,对应一个 query;
                                    另一个专门用于更新、插入数据操作,也对应一个query。
5.最后马上国庆了,祝大家节日快乐!
 
 
   附代码:
var
  tc:array[0..10000] of TADOConnection;
  tb:array[0..10000] of TADOTable;
  i:integer;
  s:string;
begin
  s:='Provider=SQLOLEDB.1;Password=aaa;Persist Security Info=True;'+
     'User ID=sa;Initial Catalog=MyDB;Data Source=192.168.7.139;'+
     'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
     'Use Encryption for Data=False;'+
     'Tag with column collation when possible=False' ;
  for i := 0 to 10000 do begin
    tc[i]:=TADOConnection.Create(nil);
    tc[i].ConnectionString:=s;
    tc[i].LoginPrompt:=false;
    tc[i].Provider:='SQLOLEDB.1';
 
    tb[i]:=TADOTable.Create(nil);
    tb[i].Connection:=tc[i];
    tb[i].TableName:='AD_Bank';
    tb[i].Active:=true;
    mmo1.Lines.Add(DateTimeToStr(now)+':'+inttostr(i)+'已经开始工作,共有 '+
                   IntToStr(tb[i].RecordCount)+' 条数据');
    mmo1.Refresh;
  end;
 
end;

 

 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphiini文件读写发布时间:2022-07-18
下一篇:
DelphiXE7FMX弹出消息发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap