MySQL的InnoDB和MyISAM引擎在数据结构和性能上有哪些显著区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2146个文字,预计阅读时间需要9分钟。
MySQL的SQL层架构流程概述:
1.初始模块:初始化一些参数,例如初始myinit配置文件中的参数。
2.连接管理:处理数据库连接。
先大体看一下MySQL的SQL layer层的一个架构流程:
对一些关键模块做一下简单的描述:
1.初始模块:初始一些参数,比如初始myinit配置文件(在安装的根目录下)里的一些参数。
2.连接管理模块:启动监听,监听连接请求
3.连接进程模块:可以理解为线程池
4.用户模块:检验用户,令牌和权限
5.命令分发器:处理不同类型的请求
6.查询缓存模块:做缓存处理,做查询的cache,可以理解为一个Map,查询语句为key,结果值为value
7.日志记录模块
8.命令解析器(parser):对于不同类型的sql语句进行处理分发,select:查询优化器,dml:表变更模块,ddl:表维护模块,rep:复制模块(主从复制),status:状态模块。
9.访问控制:
10.表管理模块:
11.存储引擎接口:和Storage Engines打交道
直接来到Storage Engines,这讲的最多的就是引擎了,如:
Myisam、Innodb、Faicon、Memory、Archive等等引擎
而我们常用的是Innodb和Myisam这两种,这两种索引最直接的区别,可以从采用对应引擎而生成的数据表文件,进行对比。
本文共计2146个文字,预计阅读时间需要9分钟。
MySQL的SQL层架构流程概述:
1.初始模块:初始化一些参数,例如初始myinit配置文件中的参数。
2.连接管理:处理数据库连接。
先大体看一下MySQL的SQL layer层的一个架构流程:
对一些关键模块做一下简单的描述:
1.初始模块:初始一些参数,比如初始myinit配置文件(在安装的根目录下)里的一些参数。
2.连接管理模块:启动监听,监听连接请求
3.连接进程模块:可以理解为线程池
4.用户模块:检验用户,令牌和权限
5.命令分发器:处理不同类型的请求
6.查询缓存模块:做缓存处理,做查询的cache,可以理解为一个Map,查询语句为key,结果值为value
7.日志记录模块
8.命令解析器(parser):对于不同类型的sql语句进行处理分发,select:查询优化器,dml:表变更模块,ddl:表维护模块,rep:复制模块(主从复制),status:状态模块。
9.访问控制:
10.表管理模块:
11.存储引擎接口:和Storage Engines打交道
直接来到Storage Engines,这讲的最多的就是引擎了,如:
Myisam、Innodb、Faicon、Memory、Archive等等引擎
而我们常用的是Innodb和Myisam这两种,这两种索引最直接的区别,可以从采用对应引擎而生成的数据表文件,进行对比。

