sql之数据库分层
简介
- 数据库是c/s架构的
- client发送请求命令,客户端负责处理和响应
作用原理
- 首先来张原理图
-
剖析
- 数据库服务端分为连接层、服务层、引擎层、存储层
- 连接层
- 负责客户端与服务端的连接,并拿到数据库操作语句,但并不处理。
- 服务层
- 提供各种用户使用的接口(增删改查)
- 提供sql优化器(Mysql Query Optimizer):如果sql语句过于复杂,优化器会自动转化为一个较为简单而又等价的写法,对性能产生一定好处,但有弊端,有可能造成执行结果与本意不同
- 引擎层
- 提供了各种存储数据的方式,常见的有:InnoDB默认,MyISAM
- InnoDB和MyISAM主要区别
- InnoDB:事物优先 防止一些并发操作造成的混乱 适合高并发操作 行锁:一次锁一行
- 性能优先 表锁 一次锁一张表数据
- 存储层
- 存储数据
- 连接层
- 数据库服务端分为连接层、服务层、引擎层、存储层
-
举例剖析
- client发出数