ORM 的个人意见 返回

SqlSugar 老数据
2 3146
该叫什么 Admin 发布于2017/5/31
悬赏:0 飞吻
  1. await async操作:

    个人见解(我也不知道是不是这样):

                    同步的情况下 线程一直是同一条, 到访问数据库的时候, 这条线程阻塞了, 然后等数据库运行完sql返回数据给这条线程才继续开始工作, 虽然很短暂, 但这个时候这条线程就偷懒了.

                    异步的情况下, 线程到访问数据库时候就被切换走, 去忙别的事, 然后这个sql执行完毕返回数据是找条闲着的线程去做接下来的工作, 这样子线程能被充分的调用, 不仅仅是数据库访问的优化, 如果一直重底层开始异步, 计算机所有交给cpu运算这个过程所消耗的时间都可以不让线程偷懒, 而这个调度机制微软的异步语法实现起来也非常简单了, 异步可不是多线程喔, 它不会因为拼命创建线程而消耗资源, 只是调度现有的线程资源去完成工作  http://www.cnblogs.com/lancidie/archive/2011/12/15/2289337.html  如果线程不需要等待, 一台服务器容纳的用户量大很多

    所以------这个是很大的亮点

  2. 关连子表查询: EF那样...... 哈哈哈,这个感觉还是比较有用, 一对多的情况还是比较多的

  3. 作者辛苦了........

热忱回答2

  • ORM异步实用场景不多, 高并发写入 一般是走队列,高并发查询是走CACHE ,如果并发不高用异步并没有什么性能的提升。


    当然SqlSugar也会支持异步操作。可能会有自已的队列处理机质

    0 回复
  • Admin Admin VIP0
    2017/5/31

    两点还不睡..




    队列+Cache是并发必备,队列只是设卡拦住数据一次性过来,让其分批有序进行处理,而每波数据放多少进来则取决于自身,Cache一般都不在同一台服务器的,取数据时候就更需要异步了


    不过有没有异步对于现在的硬件程度不是问题,最主要还是-----强迫症

    0 回复