基于MySQL架构的分析
要理解MySql,我们必须记住它的架构图。Mysql由sql接口、解析器、优化器、缓存和存储引擎组成。
1连接器是指与不同语言的SQL的交互2管理服务实用程序:系统管理和控制工具3连接池:连接池。管理缓冲用户连接、线程处理等需求。4 SQL接口: SQL接口。接受用户的SQL命令,返回用户需要查询的结果。例如,选择是调用SQL接口5解析器:解析器。当SQL命令被传递给解析器时,它将被解析器验证和解析。解析器由Lex和YACC实现,这是一个很长的脚本。主要功能:a .将sql语句分解成一个数据结构,并将这个结构传递给后续的步骤,以后的SQL语句的传输和处理都将基于这个结构。b .如果分解合成时遇到错误,说明这个SQL语句不合理。SQL语句在查询之前使用查询优化器来优化查询。他采用“选择-项目-加入”的策略进行查询。可以通过一个例子来理解:选择uid,从性别=1的用户中选择名称;在这个select查询中,我们首先根据where语句进行选择,而不是先查询所有的表,然后进行性别过滤。在这个select查询中,我们首先根据uid和name来投影属性,而不是取出所有属性,然后过滤它们。我们结合这两个查询条件生成最终的查询结果7 Cache和Buffer: query cache。如果查询缓存有命中查询结果,查询语句可以直接从查询缓存中获取数据。这种缓存机制由一系列小缓存组成。如表缓存、记录缓存、关键字缓存、权限缓存等。存储引擎是MySql中处理文件的特定子系统。也是Mysql最有特色的地方。Mysql存储引擎是插件。它根据MySql AB公司提供的文件访问层的抽象接口定制了一种文件访问机制(这种访问机制称为存储引擎)。现在存储引擎有很多种,每一种都有不同的优势。最常用的Myisam、InnoDB、BDB默认使用MyISAM引擎,查询速度快,索引优化和数据压缩技术好。但它不支持交易。InnoDB支持事务,提供行级锁定,应用广泛。Mysql还支持自己定制的存储引擎,甚至一个库中不同的表使用不同的存储引擎,这是允许的。
版权声明:基于MySQL架构的分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。