解决方案 »

  1.   

    虽然许多“技术的”手段看似都挺“技术化的”,但是我还是通常会首先去检查访问数据的事务的时间长短。我认为一个事务如果超过2秒钟就很可能是一个设计bug了。(你可以自己问问自己,你们的事务是否经常有更长的执行时间?!)我认为先全面清理一遍最基本的设计误区,然后再考虑那些纯技术手段,这样比较容易见效。一些程序员喜欢推卸责任。当他折腾什么缓存之类的“相当技术化的”东西之后,他就不愿意去承认自己设计的数据库事务太冗长的问题了。
      

  2.   

    对于使用.net中的连接来说,每一次访问数据都创建一个逻辑连接,是必须的。不但需要创建,而且要及时(比如说200毫秒)释放掉。因为这些逻辑连接是重复使用连接池里的物理连接所必须的。反而是,那种认为“应该共享逻辑连接,不应该及时释放逻辑连接”的想法才是错误的。
      

  3.   

    每一次访问数据库都创建新的逻辑连接,跟减少访问数据库次数,这是两个不矛盾的东西。不要搞不清楚之间的关系。每一次访问数据库都要创建逻辑连接,是编程所必须的。是必较低级的编程知识。减少数据库访问次数,提高你的 web的响应速度和并发吞吐能力,是设计问题。比简单的编程问题要高级多了。
      

  4.   

    先谢谢的大神的回复!
    目前项目业务占用连接时间我测试过,有几个业务时间在1秒左右,我会往这方面进行调整
    另外,你提到的缓存,我有所考虑,可具体到项目实施上又有些迷茫,不知该如何运用缓存
    我们系统是OMS系统,客户可以调用我们提供的webapi创建/查询/批量处理订单数据
    创建/批量处理都是一次性的,不能缓存
    查询我认为每次应该都从数据库读取最新的数据,也无法缓存
    还请点拨一下