高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
yaoxin5211238 分钟前
403. Java 文件操作基础 - 写入二进制文件
java·开发语言·python
未若君雅裁9 分钟前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis
爱喝水的鱼丶12 分钟前
SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程(四篇连载) 第二篇:ADT客户端完整安装与初始配置教程
运维·开发语言·学习·sap·abap
livemetee15 分钟前
Java自定义线程池核心参数解析
java
Java面试题总结16 分钟前
spring重点详解
java·后端·spring
AKA__Zas19 分钟前
初识多线程(2.0)
java·开发语言·学习方法
0xDevNull22 分钟前
Java十道高频面试题(二)
java·开发语言
java1234_小锋25 分钟前
Spring AI 2.0 开发Java Agent智能体 - 会话记忆(Chat Memory)
java·人工智能·spring
Sylvia33.25 分钟前
世界杯数据链路解析:从球场传感器到终端推送的毫秒级架构
java·前端·python·架构
Royzst28 分钟前
Lambda 算法基础 集合概述
java·开发语言