mysql总体架构
mysql驱动
- 在底层跟数据库建立网络连接的
连接池
- 创建连接非常耗时,如果每次执行完sql都销毁连接,下次执行sql再创建连接,效率低下
- 连接用完了,不销毁,放到连接池里面,供别的线程调用
- 常用连接池 DBCP c3p0 Druid德鲁伊
一个不变的原则
- 网络连接必须让线程来处理
- 线程负责从连接中监听请求,并把请求数据从连接中取出来
mysql server层组件
- sql接口
- 负责处理接收到的sql
- 查询解析器
- 解析sql
- 查询优化器
- 选择最优的查询路径
- 执行器
- 根据执行计划调用存储引擎查询数据
总图
- 本文参考救火队长的mysql