如果有1000个客户端并发查询,每个客户端要查询的数据为100条
方案一:现在取用的方式是,客户端每次发来一条,然后服务端返回一条
这种方式完成一个客户端的数据查询的时间应该是在竞争查询100条数据的总查询时间和发送一百条查询数据以及返回一百条数据的网络延时之和。方案二:我想问,这种情况下,是否可以改为客户端一次性的把100条都发过来,然后批量查询,然后再把结果一次性的返来。这样可能会形成一个队列,先进的先出。。但因为发送次数减少,网络延时应该会降低很多的。大家讨论下,第二种方案是否可行,会有什么弊端?

解决方案 »

  1.   

    不太明白楼主的操作,批量应该比单条快
      

  2.   

    加个标志,把已经被某个用户查询到并正在修改的数据标记为Y,那么其他用户不能查询或更改这100条数据.当这个用户处理完毕后,再把标记更改为N.
      

  3.   

    我想问,这种情况下,是否可以改为客户端一次性的把100条都发过来,然后批量查询,然后再把结果一次性的返来?
    批量查詢最後實質上也是一條記錄的查詢!!!
      

  4.   


    没错,服务器的查询时间是一样的,这点我知道。但你没明白我意思,我是想尽量让客户端更快的收到查询结果。如果是一百次发送和接收,那除了查询时间,还有很多时间浪费在100次发送的连接上。
      

  5.   

    这里只进行查询,不会更新数据的。我重点不在这上面。而是想尽量让客户端更快的得到100条数据的查询结果。各位大侠有什么好主意吗?