【MySQL】逻辑MySQL的分层与存储引擎

MySQL的逻辑分层

MySQL的逻辑分层图

  • 连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。

  • 服务层:包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。

  • 引擎层:负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能的;对存储层的抽象。

  • 存储层:存储数据,文件系统。

存储引擎

简述

查看MySQL提供的存储引擎:

show engines;

在这里插入图片描述

  • 从Engine列可以MySQL的存储引擎的名字:
    1. InnoDB 事务有限(行锁)
    2. MyISAM 性能优先(表锁)
    3. MEMOEY
    4. MRG_MYISAM
    5. CSY
    6. FEDERATED
    7. PERFORNANCE_SCHEMA
    8. BLAKHOLE
    9. ARCHIVE
  • 从Support列可以看出当前MySQL支持和不支持的引擎以及默认引擎:
    当Suppoet字段为YES时,表示支持;反之NO为不支持;DEFAULT为默认引擎。
  • Comment可以看到官方对这些引擎的描述。
  • Transactions列标明了引擎是否支持事务。
  • XA列标明了引擎是否支持分布式事务。
  • Savepoints列标明了引擎是否支持保存点:
    保存点的作用:当rollback时,可以回退到savepoints。

建表时指定存储引擎

create table 表名(
	...
)ENGINE = InnoDB;

查看指定表的存储引擎

show create table 表名

修改指定表的存储引擎

ALTER TABLE 表名 ENGINE=InnoDB

参考:MySQL——逻辑分层与存储引擎
MySQL修改数据表存储引擎的3种方法介绍

猜你喜欢

转载自blog.csdn.net/HuaLingPiaoXue/article/details/88770237