一、页目录和槽 接上一篇,现在知道记录在页中按照主键大小顺序串成了单链表。 那么我使用主键查询的时候,最顺其自然的办法肯定是从第一条记录,也就是 Infrimum 记录开始,一直向后找,只要存在总会找到。这种在数据量少的时候还好说,一旦数据多了,遍历耗时一定非常长。 于是,作者又想到了一个好办法,灵 ...
分类:
数据库 时间:
2021-07-26 16:37:12
阅读次数:
0
https://www.cnblogs.com/better-farther-world2099/p/9290966.html undolog实现事务原子性,redolog实现事务的持久性。 为了避免脏数据刷回磁盘过程中,掉电或系统故障带来的数据丢失问题,InnoDB采用事务日志(redo log) ...
分类:
数据库 时间:
2021-07-12 18:26:14
阅读次数:
0
死锁指的是多个事务在同一资源上相互占用并请求锁定对方占用的资源而导致恶性循环的现象。当多个事务试图以不同顺序锁定资源时可能就会产生死锁,多个事务同时锁定同一个资源也会产生死锁。 为了解决死锁问题,数据库系统实现了死锁检测和死锁超时机制。 越复杂的系统,例如InnoDB存储引擎,越能检测到死锁的循环依 ...
分类:
数据库 时间:
2021-07-07 17:51:52
阅读次数:
0
表锁是MySQL最基本的锁策略,并且是开销最小的策略。表锁会锁定整张表,一个用户在对表进行写操作前需要先获得写锁,这会阻塞其他用户对该表的所有读写操作。只有没有写锁时,其他读取的用户才能获取读锁,读锁之间不相互阻塞。 行锁可以最大程度的支持并发,同时也带来了最大开销。innoDB和XtraDB以及一 ...
分类:
数据库 时间:
2021-07-05 19:06:17
阅读次数:
0
Mysql 锁类型 一、锁类型介绍: MySQL有三种锁的级别:页级、表级、行级。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间; ...
分类:
数据库 时间:
2021-07-02 16:06:28
阅读次数:
0
主要讨论RR隔离级别,因为RC只是少了间隙锁。 一、innodb七种锁 共享/排他锁(Shared and Exclusive Locks) 共享锁(Shared Locks,S锁) 排他锁(Exclusive Locks,X锁) 可以一起读,读写/写写互斥。 意向锁(Intention Locks ...
分类:
数据库 时间:
2021-07-02 15:56:48
阅读次数:
0
1 5个MySQL使用问题 1)关于count(*) 知识点:MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。 潜台词是,对于select count(*) from t; 如果数据量大,MyISAM会瞬间返回,而InnoDB则会一行行扫描。 实践:数据量大的表,InnoDB不要轻易 ...
分类:
数据库 时间:
2021-07-02 15:38:31
阅读次数:
0
命令行模式 定义:将一个请求封装为一个对象,使发出的请求的对象和执行请求的对象分割开。这两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 顺序:请求者->命令->执行者 优点: 降低系统耦合度 扩展性好,增加或删除命令不会影响其他类 方便实现Undo和Redo操作, ...
分类:
其他好文 时间:
2021-06-30 18:05:13
阅读次数:
0
年年岁岁花相似,岁岁年年人不同。白驹过隙催人老,几多明月有清风。人犹记少年诉壮志,转眼大梦一场空。人前谈笑虽依旧,却是无从化苦衷。春情暂寄桃花雨,夜梦常吹柳絮风。往事悠悠岁月流,举杯把酒不言中。 前言 本地事务:传统单机数据库事务,必须满足ACID原则。 一、事务日志 ###(1)undo日志 un ...
分类:
其他好文 时间:
2021-06-28 19:16:21
阅读次数:
0
区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务; 2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM ...
分类:
数据库 时间:
2021-06-28 18:27:34
阅读次数:
0