开发者社区> 问答> 正文

[@徐雷frank][¥20]为什么数据库和数据库连接池不采用类似java nio的IO多路复用技术使用一个连接来维护和数据库的数据交换?

为什么数据库和数据库连接池不采用类似java nio的IO多路复用技术使用一个连接来维护和数据库的数据交换?

展开
收起
月下丶 2018-12-14 22:20:14 2386 0
1 条回答
写回答
取消 提交回答
  • 1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士

    1、NIO多路复用的模式很先进,适合高并发的网络请求处理场景
    2、对于数据库而言,瓶颈不在IO这里,而是数据库端的SQL处理和执行,
    3、另外绝大部分的SQL请求,都要执行大量的运算,也就是CPU密集型操作,数据库会花费大量时间来处理
    4、绝大部分客户端请求,要等待处理结果,也就请求应答模式的,
    5、对于事务、多条执行的SQL,NIO模式会有并发的顺序问题,这会带来难以控制的事务灾难,
    6、某些场景可以考虑NIO,比如有些简单的数据分布式数据库存储,可以使用NIO,没有数据库计算等待问题可以尝试

    2019-07-17 23:21:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载