MYSQL底层原理1-网络层

打算深入了解一波Mysql的底层原理,所以特在此进行一番记录。

先了解一波mysql的整体分层架构

1、先聊一波网络层,mysql的网络连接是基于BIO的,它本质上是不接受大量连接的,所以设置了max-connections这个限制。

至于为啥是BIO而不是基于NIO呢,原因大概有两点:

  1. JDBC不支持,JDBC出现了20多年了,它是一个行业标准,在被提出当时还没有NIO啥的呢,各家数据库驱动对JDBC实现都是BIO形式,就是采用BIO阻塞式查询。
  2. MYSQL不像WEB SERVER功能意义一样,它通过session作为一个连接回话,在这一个session里面需要保证执行的顺序,事务需要隔离等,DB维护这样一个session的成本很高。不像WEB-SERVER一样是无状态的,对顺序要求严格性低。

2、连接池

对于IO密集时,要减少连接数,譬如你要读写成千上万的数据,这时候你应该考虑减少连接数(和机器CPU数相等),你会发现更少连接数会带来性能数百倍的提升。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值