高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
码界奇点9 分钟前
Java外功核心7深入源码拆解Spring Bean作用域生命周期与自动装配
java·开发语言·spring·dba·源代码管理
czlczl2002092510 分钟前
Spring Security @PreAuthorize 与自定义 @ss.hasPermission 权限控制
java·后端·spring
我爱学习好爱好爱14 分钟前
Prometheus监控栈 监控java程序springboot
java·spring boot·prometheus
老华带你飞21 分钟前
考试管理系统|基于java+ vue考试管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
Larry_Yanan26 分钟前
Qt多进程(五)QUdpSocket
开发语言·c++·qt·学习·ui
De-Alf28 分钟前
Megatron-LM学习笔记(6)Megatron Model Attention注意力与MLA
笔记·学习·算法·ai
阿蒙Amon33 分钟前
C#每日面试题-属性和特性的区别
java·面试·c#
懒惰蜗牛34 分钟前
Day66 | 深入理解Java反射前,先搞清楚类加载机制
java·开发语言·jvm·链接·类加载机制·初始化
赵庆明老师1 小时前
VS2026扩展插件Visual Commander
java·开发语言
额呃呃1 小时前
信号量唤醒线程的实际机制
java·开发语言·jvm