高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
b***65321 分钟前
SpringBoot的@Scheduled和@Schedules有什么区别
java·spring boot·spring
w***4815 分钟前
CVE-2024-38819:Spring 框架路径遍历 PoC 漏洞复现
java·后端·spring
架构师沉默17 分钟前
为什么工作 10 年都没遇过分布式锁?
java·后端·架构
阿宁又菜又爱玩20 分钟前
MySQL基础学习
数据库·学习·mysql
镜花水月linyi25 分钟前
synchronized 锁升级原理:从 JDK 8 实现到 JDK 25 演进
java·后端·java ee
ERP老兵-冷溪虎山27 分钟前
Python/JS/Go/Java同步学习(第五十篇半)四语言“path路径详解“对照表: 看完这篇定位文件就通透了(附源码/截图/参数表/避坑指南)
java·javascript·python·golang·中医编程·编程四语言同步学·path路径详解
qq_5710993527 分钟前
学习周报二十四
学习
零匠学堂202527 分钟前
移动学习平台与在线学习平台是什么?主要有哪些功能?
java·spring boot·学习
少平81831 分钟前
一分钱的Bug(求助帖)
java
q***017735 分钟前
Spring.factories
java·数据库·spring