MySQL 技术内幕阅读笔记(0)--- InnoDB 体系结构和存储引擎

MySQL 刘宇帅 5年前 阅读量: 1198

MySQL 体系结构

mysql体系结构图

从图我们可以看出,MySQL 有如下几部分组成:

  • 连接池组件
  • 管理服务和工具组件
  • SQL 接口组件
  • 查询优化组件
  • 优化器组件
  • 缓冲组件
  • 插件式存储引擎
  • 物理文件

需要注意存储引擎是基于表的而不是库,比如我们可以在建表的时候为表指明存储引擎。

MySQL 存储引擎

常见存储引擎

  • InnoDB MySQL 5.5.8 版本之后的默认存储引擎,事务性,行锁,支持外键。
  • MyISAM 存储引擎不支持事务、表锁,支持全文索引,主要面对一些 OLAP 数据库应用。MySQL 5.5.6 版本之前的默认存储引擎。
  • NDB 存储引擎是一个集群存储引擎。
  • Memory 存储引擎将表中的数据存在内存中,非常适合做临时数据的临时表和数据仓库的维度表。
  • Archive 存储引擎只支持 INSERT 和 SELECT 操作。使用 zlib 算法压缩数据行。
  • 等等

Memory 存储引擎虽然是内存操作,但是只支持表锁,并发性能差,并且不支持 TEXT 和 BLOB 列类型,MySQL 数据库使用 Memory 存储引擎作为临时表来存放查询中的中间结果集,如果中间结果集大于 Memory 存储引擎的容量设置又或者中间结果包含 BLOB 和 TEXT 列类型字段,则 MySQL 会把其转化为 MyISAM 表并存放到磁盘上,并且 MyISAM 本身不缓存数据文件,因此这时产生的临时表的性能将极大下降。

连接 MySQL

MySQL 服务器就是一个进程,支持通常的进程通信方式。

  • TCP/IP
  • 命名管道和共享内存
  • UNIX 域套字节

提示

功能待开通!


暂无评论~