- brief introduction
- Table of contents
- Latest documents
- Collection Download
事务的概念和特性
## 事务的概念 数据库中的事务是一个操作序列,包含了一组数据库操作命令。 事务把这一组命令作为一个整体一起向系统提交或撤销操作请求,即这一组命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。 事务的特性 注:如果没有特别说明,下面的事物的特性的原理指的都是MySQL的InnoDB引擎。 事务具有 4 个特性,即原子性(Atomicity)、一致性(Consistenc………
ricear - Aug. 14, 2022, 9:38 p.m.
MVCC实现原理
含义 MVCC 是在并发访问数据库时,通过对数据做多版本管理,避免因为写锁的阻塞而造成数据的并发阻塞问题。 通俗的讲就是 MVCC通过保存数据的历史版本,根据比较版本号来处理数据的是否显示,从而达到读取数据的时候不需要加锁就可以保证事务隔离性的效果。 核心知识点 事务版本号 每次事务开启前都会从数据库获得一个自增长的事务 ID,可以从事务 ID判断事务执行的先后顺序。 隐藏列 DB_T………
ricear - July 31, 2022, 3:57 p.m.
锁
首先,对 MySQL 锁进行划分: 按照锁的粒度划分:表锁(Table Level Lock)、行锁(Row Level Lock)。 按照锁的使用方式划分:共享锁(Share Lock)、排他锁(悲观锁的一种实现)(eXclusive Lock)。 按照锁的思想划分:悲观锁(Pessimistic Concurrency Control, PCC)、乐观锁(Optimistic Concur………
ricear - July 31, 2022, 3:56 p.m.
事务日志
数据库的事务日志主要分三类,分别是Binlog、Redo Log、Undo Log。 Binlog 含义 Binlog 记录了对 MySQL 数据库执行更改的所有操作,但是不包括 SELECT 和 SHOW 这类操作,但是若操作本身并没有导致数据库发生变化,那么该操作可能也会写入 Binlog,如update t set a = 1 where a = 2;,但是表t 中并不存在a = 2 的………
ricear - July 31, 2022, 3:55 p.m.
索引
1 含义 索引是存储数据库表中的一列或多列的值并对其进行排序的一种数据结构,他通过缩小一张表中需要查询的记录的数目来加快搜索的速度,如果没有索引,数据库将不得不进行全表扫描。 索引相当于图书中的目录,可以根据目录上的页码快速找到所需的内容,提高查询速度。 2 优缺点 2.1 优点 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以大大加快数据的检索速度,避免进行全表的数据扫描………
ricear - Dec. 19, 2021, 3:33 p.m.