《MySQL实战45讲》笔记(一)

Mysql基本架构

《MySQL实战45讲》笔记(一)

MySQL分为Server和存储引擎层两部分

Server层

server包括连接器、查询缓存,分析器、优化器、执行器。所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。

存储引擎层

存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB,MyISAM,Mmeory等多个存储引擎。现在最常用的存储引擎是InnoDB。

执行过程

《MySQL实战45讲》笔记(一)

查询缓存

一般情况下不建议使用查询缓存,除非使用的表的更新频率极低。因为只要对一个表进行更新,这个表上所有的查询缓存都会被清空。如果这个表经常被更新的话,查询缓存的命中率就会很低,使用缓存反而降低了效率

分析器

分析器会做词法分析和语法分析

优化器

优化器是在表里有多个索引的时候,决定使用哪个索引,或者在一个语句有多表关联(join)的时候,决定各个表的连接顺序

执行器

oin)的时候,决定各个表的连接顺序

执行器

开始执行的时候,会先判断一下有没有执行权限(如果是直接命中缓存,则会在缓存返回结果之前,先进行执行权限的验证)