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


    今天闲着没事,测试了一下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;
     
  • 相关阅读:
    指针的学习
    (转)c & c++内存分配
    C++实现String
    c& c++笔试题
    appium python api收集
    公司python入职培训流程
    app端性能测试笔记
    h5 测试关注点
    robot framework 牛刀一试
    adb 安装apk 报错:Failure [INSTALL_FAILED_INVALID_URI]
  • 原文地址:https://www.cnblogs.com/KKSoft/p/4846346.html
Copyright © 2020-2023  润新知