自顶向下分为连接层、服务层、引擎层以及文件层,其作用如下:
SQL
解析、结果合并、执行计划生成**等。MySQL
较为重要的一层,服务层主要是制定执行计划和等待结果,但读写数据的具体操作都需要通过引擎层来完成,引擎层决定着表数据读写方式和存储方式。MySQL
的基础层,对上层服务提供最基础的文件服务,如日志、数据、索引等文件的支持。客户端如何与MySQL建立连接?
通信模式?
解析器的作用?
优化器的作用?
优化器主要会对解析器生成的语法树,选出一套SQL
执行的最优方案,如选择合适的索引、选择合适的join
方式等,对于优化器最终选择的执行计划可以通过explain
工具来查看。