各位三层高手请进:数据处理问题请教。大家都来交流交流吧。
书生 2003-02-28 10:41:38 最近在摸索三层MIDAS开发的一些问题。
情况是这样的:我不走DCOM,直接走scktsrvr,服务器端使用DataSetProvider1,ADOConnection1,ADOQuery1连接数据库。注册服务以后,客户端SocketConnection1+ClientDataSet1+DataSource1+DBGrid1;
目前的问题有:1、采用这种分布式处理在前端进行数据更新和删除等不需要返回结果集的情况下,速度奇快!更新10W条记录基本上是点完客户端按纽,服务器就执行完毕了。但是一旦是需要返回的select等,客户端速度就大打折扣,单个客户端返回5000条记录的时候还可以忍受,大概是8秒,还不算多客户端并发的情况。如果上了1W条记录如果我是用户都不能忍受了。实测的是单客户端25000条记录返回是37秒。如果并发???
我的问题是:各位高人有在项目开发中采用过MIDAS分布式开发的么?在远程数据集的传送上是不是有哪些属性需要设置?或者有哪些特别需要注意的?请指教。
2、多客户端并发的问题:服务器端在处理客户端提交的请求时是否采用了多线程处理机制,还是排队处理???
目前我的测试反映为:一个客户端select * (2W条) ,一个select top 50;前一个先提交,第二个马上提交(呵呵,我们两个人喊1,2,3然后差不多一起点按纽,大家别笑啊 ^_^ ),这种情况下,服务器端并没有进行小结果集传送的优先处理,都要等待很长时间,2的先完成,1也马上完成。
针对这种现象请教:是否有什么属性或者方法可以避免查询少量数据集的用户可以优先获得处理??不用等待和需要返回大量数据集的命令同时处理??
敬请各位高人释疑。有兴趣的朋友也欢迎一起探导MIDAS。大家多交流心得。觉得现在
在MIDAS和COM真正能玩的很熟悉的人很少啊,很大一部分都是知道怎么做,不能讲明白为什么这么做。大家一起谈谈,可能会有很多收获,不要都把自己知道的一部分藏起来啊!
----书生