高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
lzhdim11 分钟前
13、JavaScript事件循环机制 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
小杨不想秃头18 分钟前
信息安全工程师考试
学习·网络安全
喜欢吃豆20 分钟前
otes on LLMs 更新:一份更系统的大模型工程学习手册
学习·大模型·agent
AOwhisky34 分钟前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
用户3721574261351 小时前
Java 设置 Word 文档编辑限制并允许指定区域编辑
java
宠友信息1 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营
绘梨衣5471 小时前
异步任务队列-学习2
爬虫·python·学习·任务队列
用户3721574261351 小时前
Java 设置 PDF 表单域只读或扁平化
java
喜欢吃燃面2 小时前
HTTP协议深度解析:从请求响应到状态管理与安全传输
linux·网络协议·学习
我命由我123452 小时前
财务学习 - 权责发生制(应收应付制)
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法