美文网首页数据库数据库
第一章 Mysql 基础层

第一章 Mysql 基础层

作者: W_Gang | 来源:发表于2021-06-14 00:54 被阅读0次

    Mysql 的架构主要分三个层次,第一层是客户端(client),第二层是Mysql所提供的Server层,里面包括连接器、分析器、优化器、执行器,第三层是存储引擎

    MysqlServer层

    连接器:提供客户端与服务器之间的连接服务;

    分析器:对sql语句进行词法分析和语法分析,然后对关键字进行切分,最终得到 AST(抽象语法树);

    优化器:优化器是分两种方式的,一种叫RBO(基于规则的优化),一种叫CBO(基于成本的优化),而大部分都是使用的CBO方式;

    执行器:执行器是用来跟存储引擎进行数据交互的,从存储介质中读取或写入数据,要提高效率就要减少IO量,减少IO次数;

    在8.0版本之前,在Mysql的Server中还有一个组件叫做“缓存”,或者叫做查询缓存,但在8.0之后就被废弃掉了。

    存储引擎

    不同的存储引擎,数据文件和索引文件存放的位置是不同的,因此有了分类:

    聚簇索引:数据和文件放在一起:InnoDB

                      .frm:存放的是表结构

                       .ibd:存放数据文件和索引文件

    注意:Mysql的InnoDB存储引擎默认情况下会把所有的数据文件放到表空间中,不会为每一个单独的表保存一份数据文件,如果需要将每一个表单独使用文件保存,设置如下属性:

    set global innodb_file_per_table = on;

    非聚簇索引:数据和索引单独一个文件:MyISAM

                         .frm存放表结构

                         .MYI:存放索引数据

                          .MYD:存放实际数据

    相关文章

      网友评论

        本文标题:第一章 Mysql 基础层

        本文链接:https://www.haomeiwen.com/subject/tkjneltx.html