本文旨在从select语句的解析和执行过程, 了解 MySQL的逻辑结构。
先看 select语句执行时都要经过哪些模块处理....了解了MySQL的整体结构之后, 我们再针对各功能模块逐一说明.
1. 连接器
负责建立连接、维持和管理连接, 以及验证权限。...Select语句会被解析成语法树, 并根据存储引擎特点, 表相关统计数据等信息, 进行sql重写, 读表顺序调整, 多表联合查询时的连接顺序调整, 索引选择等优化操作.
5....存储引擎
提供可插拔式的存储功能插件, 主要功能是存储数据, 提供读写接口, 如MyISAM和InnoDB.
7. 查询缓存
缓存查询结果, sql会做为缓存的 key....查询缓存看似能提高 select效率, 但却是弊大于利的. 原因是一个表只要有更新, 那这个表上所有的查询缓存都会被清空。很可能缓存的数据还没使用, 就被清空了。