ORM 的个人意见 返回

await async操作:
个人见解(我也不知道是不是这样):
同步的情况下 线程一直是同一条, 到访问数据库的时候, 这条线程阻塞了, 然后等数据库运行完sql返回数据给这条线程才继续开始工作, 虽然很短暂, 但这个时候这条线程就偷懒了.
异步的情况下, 线程到访问数据库时候就被切换走, 去忙别的事, 然后这个sql执行完毕返回数据是找条闲着的线程去做接下来的工作, 这样子线程能被充分的调用, 不仅仅是数据库访问的优化, 如果一直重底层开始异步, 计算机所有交给cpu运算这个过程所消耗的时间都可以不让线程偷懒, 而这个调度机制微软的异步语法实现起来也非常简单了, 异步可不是多线程喔, 它不会因为拼命创建线程而消耗资源, 只是调度现有的线程资源去完成工作 http://www.cnblogs.com/lancidie/archive/2011/12/15/2289337.html 如果线程不需要等待, 一台服务器容纳的用户量大很多
所以------这个是很大的亮点
关连子表查询: EF那样...... 哈哈哈,这个感觉还是比较有用, 一对多的情况还是比较多的
作者辛苦了........
热忱回答(2)
-
fate stay night VIP0
2017/5/31ORM异步实用场景不多, 高并发写入 一般是走队列,高并发查询是走CACHE ,如果并发不高用异步并没有什么性能的提升。
当然SqlSugar也会支持异步操作。可能会有自已的队列处理机质
0 回复 -
Admin VIP0
2017/5/31两点还不睡..
队列+Cache是并发必备,队列只是设卡拦住数据一次性过来,让其分批有序进行处理,而每波数据放多少进来则取决于自身,Cache一般都不在同一台服务器的,取数据时候就更需要异步了
不过有没有异步对于现在的硬件程度不是问题,最主要还是-----强迫症
0 回复