MySQL的逻辑架构

这里写图片描述

1 第一层:连接层

实现与客户端的连接,服务器为安全接入的每个用户客户端验证它的所具有的操作权限,在该层引入了连接池。

2.第二层:服务层

完成MySQL的核心功能:SQL接口、缓存的查询、SQL的的分析优化、内置函数的执行。在该层MySQL服务器会解析查询并创建相应的内部解析树,并且确定对其完成相应的优化(确定表的查询顺序、是否利用索引),最后生成相应的执行操作。如果是select语句,还会查询内部缓存。

3.第三层:引擎层

数据引擎负责MySQL数据的存储和提取,默认是数据引擎是InnoDB。

4.第四层:存储层

将数据存储在物理硬件上。


数据引擎

其实常用的数据引擎为InnoDB和MyISAM

功能 /数据库引擎 MyISAM InnoDB
主外键 不支持 支持
事务 不支持 支持
行表锁 表锁 (操作一行记录的时候会锁住整个表,因此可见不舍和用于高并发) 行锁(操作时只会锁住行,不对其他有影响,因此适用于高并发)
缓存 只缓存索引,不缓存真实的数据 对索引和真实的数据都进行缓存。因此它的内存的要求会较高,而且内存的大小有着决定性的作用
表空间
关注点 性能 事务

总结:在建表的时候尽量少用物理的外键约束,而是使用逻辑上的外键约束,因为物理的外键约束只是适用于INNOBD引擎支持。

猜你喜欢

转载自blog.csdn.net/ycd500756/article/details/81206995
今日推荐