目录
连接层(Connection Pool)
连接池,管理缓冲用户的连接请求、线程处理等操作,用户名密码验证通过,连接器会到权限表里面查出当前用户拥有的权限。连接完成后,如果没有后续的动作,这个连接就处于空闲状态,可执行show processlist命令查看。Command列显示为Sleep的这一行,表示现在系统里面有一个空闲连接。
客户端长时间不活动,连接器就会自动将它断开。这个时间是由参数wait_timeout控制的,默认值是8小时。在数据库里,长连接是指连接成功后,如果客户端持续有请求,则一直使用同一个连接,短连接是指每次执行完几次查询就断开连接,下次查询再重新建立一个。建立连接的过程通常是比较复杂的,所以尽量使用长连接 。如果都使用长连接,有时MySQL占内存涨得特别快,因为MySQL在执行过程中临时使用的内存是管理在连接对象里面的。这些资源会在连接断开的时候才释放。所以如果长连接累积下来,可能导致内存占用太大,被系统强行杀掉(OOM)