高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
用户8307196840822 小时前
告别冗余!Spring Boot Web 入参转换 6 种玩法,@InitBinder 可以退休了
java·spring boot
今儿敲了吗2 小时前
28| A-B数对
数据结构·c++·笔记·学习·算法
Desirediscipline2 小时前
#include<limits>#include <string>#include <sstream>#include <iomanip>
java·开发语言·前端·javascript·算法
The_Uniform_C@t22 小时前
AWD | ATT&CK实战系列--蓝队防御(一)
网络·学习·网络安全
lucky67072 小时前
Laravel 9.x LTS重磅升级:六大核心改进
java·php·laravel
人道领域2 小时前
MyBatis-Plus为何用JavaBean映射数据库表及乐观锁实战
java·开发语言·数据库
加洛斯2 小时前
RabbitMQ入门篇(1):初识MQ
java·后端
bai_lan_ya2 小时前
makefile通用解析
java·运维·数据库
小兔崽子去哪了3 小时前
百度智能云模型接入
java·openai
独自破碎E3 小时前
BISHI73 【模板】欧拉函数计算Ⅰ ‖ 朴素求值:试除法
java·开发语言