高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
永远都不秃头的程序员(互关)2 分钟前
人工智能中的深度学习:基础与实战应用
人工智能·笔记·学习
思成不止于此3 分钟前
【MySQL 零基础入门】DCL 核心语法全解析:用户管理与权限控制篇
数据库·笔记·sql·学习·mysql
柒.梧.3 分钟前
手写Tomcat的实现代码分享
java·tomcat
y1y1z4 分钟前
Spring MVC教程
java·spring·mvc
熬了夜的程序员9 分钟前
【Rust学习之路】序
开发语言·后端·学习·rust
代码游侠10 分钟前
学习笔记——进程
linux·运维·笔记·学习·算法
北慕阳12 分钟前
背诵-----------------------------
java·服务器·前端
没有bug.的程序员13 分钟前
AOT 与 GraalVM Native Image 深度解析
java·jvm·测试工具·aot·gc·gc调优·graalvm native
零雲18 分钟前
java面试:怎么保证消息队列当中的消息丢失、重复问题?
java·开发语言·面试
冬夜戏雪18 分钟前
【java学习日记】【12.11】【11/60】
java·开发语言