高性能mysql笔记总结—chapter01

数据库的逻辑架构

mysql是客户端和服务端的架构,一个客户端占有一个客户端进程的线程连接,线程是会被客户端缓存起来的。

第一层是处理认证和连接

第二层用来解析和优化查询

第三层是用来存储引擎层

特点是存储引擎是可插拔的,也就是说可以替换的

并发问题

加表级别锁或者行级别的锁,表级别的锁是服务端就支持的,而行级别的锁是存储引擎层支持的。

读写锁的机制,读锁是可重复读,写锁是排它锁。

事务

acid,原子性,一致性,隔离性,持久性四个特性

事务的隔离级别

不可重复读,读以提交,可重复读,串行读

事务日志

先修改内存中的值,然后将事务的执行语句顺序写到磁盘,顺序写比较快,然后再另外写入到磁盘中,这种方式叫write ahead logging

mvcc

多版本事务控制,是通过保存快照来实现的。是指每一行都会多两个字段,分别表示行的创建时间和删除时间,实际上,就是行级别锁的一种实现方式。

mysql的存储引擎

主要其实就两种,分别是innodb和myisam是最常用的,95都是选择的innodb

相关推荐
呱牛do it几秒前
企业级门户网站设计与实现:基于SpringBoot + Vue3的全栈解决方案(Day 4)
java·vue
云烟成雨TD3 分钟前
Spring AI Alibaba 1.x 系列【39】四大多智能体(Multi-agent)架构
java·人工智能·spring
Xingxing?!4 分钟前
Java 后端分层架构详解
java·架构·状态模式
_Evan_Yao15 分钟前
对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
java·后端·websocket·网络协议·http
y = xⁿ17 分钟前
MySQL学习笔记:乐观锁VS悲观锁/八股总结
笔记·学习·mysql
危桥带雨29 分钟前
FLASH代码部分
java·后端·spring
d111111111d33 分钟前
STM32-UART抽象层封装
笔记·stm32·单片机·嵌入式硬件·学习
逍遥德1 小时前
skill模板-基于java maven项目
java·人工智能·自然语言处理·maven
XiYang-DING1 小时前
【Java EE】单例模式
java·单例模式·java-ee
华清远见IT开放实验室1 小时前
嵌入式系统化课程 学习内容与服务说明
linux·stm32·学习·嵌入式·全栈·虚拟仿真·测评中心