mysql体系结构
从mysql官方手册给的架构图(参考文献1)来看,mysql采用分层的架构,面向client是最上面一层,使用连接池组件(如果连接数过多,超过了该连接池的上限,是不是就把db打爆了,因为处理不过来);下面一层包含SQL接口组件(包括DDL、DML)、查询分析器、优化器、缓存组件;再下面一层是存储引擎插件(常见的比如InnoDB、MyISAM);最底层为文件系统。
以查询为例:mysql client发起一个select请求,在连接池层验证合法性、建立连接,其次对sql进行语法分析,对SQL进行优化,然后把优化后的SQL传到存储引擎中,存储引擎从文件系统中取出数据返回。
参考:
1、MySQL技术内幕-InnoDB存储引擎