(一) MySQL架构

2019-07-24 09:02:26来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1.MySQL架构

MySQL拥有分层的架构,上层是服务器层的服务和查询执行引擎,下层是存储引擎,真正负责数据的存储和提取。

服务层包含了连接和线程处理,以及大多数MySQL的核心服务,如对SQL的解析、分析、优化和缓存等功能,存储过程、触发器和视图都是在这里实现的。

在MySQL中,实例和数据库往往是一一对应的,我们无法直接操作数据库,而是通过数据库实例来操作数据库文件,可以理解为数据库实例是数据库为上层提供的一个专用于操作的接口。

 

2.事务的ACID特性

  • 原子性:整个事务中的所有操作要么全部提交成功,要么全部失败回滚。
  • 回滚通过回滚日志实现,回滚日志中记录了所有操作的逆操作。如果事务T2依赖事务T1,那么T1必须在T2提交之前完成提交操作。
  • 一致性
  • 隔离性:一个事务所做的修改在最终提交以前,对其他事务是不可见的。MySQL默认的隔离级别是“可重复读”,保证了在同一个事务中多次读取同样记录的结果是一致的。
  • 持久性:事务一旦被提交,数据一定会被写入数据库并储存起来。

3.InnoDB存储引擎

InnoDB是MySQL的默认事务型引擎。

InnoDB表是基于聚簇索引建立的,聚簇索引对主键查询有很高的性能。

4.InnoDB的多版本并发控制MVCC

通过在每行记录后面保存两个隐藏的列来实现。

这两列,一个保存行的创建时间,一个保存行的过期时间(删除时间)。

存储的并不是实际的时间值,而是系统版本号。

 


原文链接:https://www.cnblogs.com/baiye-code/p/11172851.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mysql 多表查询 以及 concat 、concat_ws和 group_concat

下一篇:python数据库-MySQL数据库的增删改查基本操作(49)