高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
lang2015092810 小时前
深入解析Java资源加载机制
java·开发语言·python
爱笑的眼睛1110 小时前
自动机器学习组件的深度解析:超越AutoML框架的底层架构
java·人工智能·python·ai
⑩-10 小时前
简单业务异常类
java
乘风!10 小时前
NSSM启动tomcat部署Java程序
java·服务器·后端·tomcat
思成不止于此10 小时前
【MySQL 零基础入门】MySQL 函数精讲(二):日期函数与流程控制函数篇
android·数据库·笔记·sql·学习·mysql
知识分享小能手10 小时前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 中 Linux C 编程 —语法详解与实战案例(13)
linux·学习·centos
BBB努力学习程序设计11 小时前
Java 21虚拟线程与平台线程:JVM层面的深度对比与实现原理
java
代码无疆11 小时前
学点java字节码更易于理解一些特殊的java语法效果
java·后端
BBB努力学习程序设计11 小时前
Java 8日期时间API完全指南:告别Date和Calendar的混乱时代
java
不能只会打代码11 小时前
力扣--3433. 统计用户被提及情况
java·算法·leetcode·力扣