广州网站建设设计,thinkphp做网站快吗,台州学校网站建设,郑州做网站优化公这篇文章主要是从mysql数据库的逻辑架构来认识掌握mysql的原理。只要是稍微有一点计算机的相关知识相信都能看明白。一、笼统的逻辑架构先给出一张逻辑架构图#xff0c;这张图是让你从宏观的角度来分析认识一下。从这张图你可以获取到如下的信息#xff1a;#xff08;1这张图是让你从宏观的角度来分析认识一下。从这张图你可以获取到如下的信息1mysql架构大致上可以划分为四层。2第一层主要是不同客户端的连接。3第二层主要是处理客户端的连接。4第三层处理客户端的sql语句。5第四层存储引擎真实的执行sql语句。现在你已经了解了mysql的整体架构而且也大致明白了每一层是干嘛的现在我们把目光逐渐细化毕竟上面这张图还是太笼统。二、细化的逻辑架构图看下面这张图。这张图相比较前面那张图就细化了一部分从上到下还是分为了四层第一层在这里我们可以看出连接的客户端有很多PHP、python、jdbc等等都有。第二层这一层是链接层对应于第一张图的连接处理层主要是处理客户端的连接这是因为客户端很多种类很多。第三层这一层是服务层。主要是处理客户端请求的sql语句如何处理呢大致流程就是先查询缓存如果缓存有那就直接拿出来返回。如果没有那就解析器解析然后优化器优化各个存储引擎提供的功能都集中在这一层如存储过程触发器视图等。第四层这一层是引擎层在这里我们可以看到有好几种不同的存储引擎比如InnoDB,MyISAM,memory等等。真正负责MySQL中数据的存储和提取。假如说我们使用jdbc执行一条插入的sql语句整个流程是如何执行的呢首先jdbc属于第一层通过第二层的连接处理连接到mysql服务器接下来通过解析器对sql语句进行解析然后再通过优化器对sql语句进行优化最终调用第四层的存储引擎的接口执行插入语句将数据插入到文件或者是其他文件系统上。是不是很简单。通常在学习mysql的时候老师都会介绍到存储引擎。那时候可能你还没有注意到他的重要性现在相信你应该体会到了。也就是说服务层的那些功能都是由存储引擎提供的。不同的存储引擎提供的可能是不一样的。如何去比较这些存储引擎呢我们列了一些指标去对比一下对于mysql数据库来说默认的就是InnoDB它不能支持哈希索引还有全文索引。因此如果有一天你不喜欢它了也可以去更换语句就是SET default_storage_engine 存储引擎名 。