高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
黎雁·泠崖7 小时前
【魔法森林冒险】11/14 战斗系统(二):多波战斗与BOSS战
java·开发语言
我命由我123459 小时前
Android多进程开发 - AIDL 最简单的实现、传递数据大小限制
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
今天只学一颗糖16 小时前
1、《深入理解计算机系统》--计算机系统介绍
linux·笔记·学习·系统架构
青云计划16 小时前
知光项目知文发布模块
java·后端·spring·mybatis
赶路人儿16 小时前
Jsoniter(java版本)使用介绍
java·开发语言
testpassportcn17 小时前
AWS DOP-C02 認證完整解析|AWS DevOps Engineer Professional 考試
网络·学习·改行学it
探路者继续奋斗17 小时前
IDD意图驱动开发之意图规格说明书
java·规格说明书·开发规范·意图驱动开发·idd
消失的旧时光-194318 小时前
第十九课:为什么要引入消息队列?——异步系统设计思想
java·开发语言
A懿轩A18 小时前
【Java 基础编程】Java 面向对象入门:类与对象、构造器、this 关键字,小白也能写 OOP
java·开发语言
乐观勇敢坚强的老彭19 小时前
c++寒假营day03
java·开发语言·c++