最新 最热

NIO

3.NIO包含三个组件:Buffer(缓冲区),Channel(通道),Selector(多路复用选择器)

2022-10-27
3

谁再说搞不懂 Linux 的内存、Swap、Cache、Buffer,就把这个给他扔过去!

设计的目的就是当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用。...

2022-10-27
3

面试系列-redo log

我们执行增删改操作的时候,首先会在Buffer Pool中加独占锁更新缓存页,那么缓存页和底层的物理磁盘上的数据页的原理,在更新完Buffer Pool中的缓存页之后,必须要写一条redo log,这样才能记录下来我们对数据库做的修改。redo...

2022-10-27
2

面试系列-undo log

执行事务的时候,里面很多INSERT、UPDATE和DELETE语句都在更新缓存页里的数据,但是万一事务回滚,你必须有每条SQL语句对应的undo log回滚日志,根据回滚日志去恢复缓存页里被更新的数据。...

2022-10-27
4

面试系列-innodb存储引擎的架构设计

提交事务的时候,redo日志必须是刷入磁盘文件里的。这样可以严格的保证提交事务之后,数据是绝对不会丢失的,因为有redo日志在磁盘文件里可以恢复你做的所有修改。如果要是选择0的话,可能你提交事务之后,mysql宕机,那么此时re...

2022-10-27
2

面试系列-mysql如何确保数据不丢失

假如6成功之后,mysql宕机了,此时p1修改已写⼊磁盘,但是p2的修改还未写⼊磁盘,最终导致userid=666的记录被修改成功了,userid=888的数据被修改失败了,数据是有问题的...

2022-10-27
2

面试系列-buffer pool缓冲池及相关链表

在对数据库执行增删改操作的时候,实际上主要都是针对内存里的Buffer Pool中的数据进行的,也

2022-10-27
3

MySQL 用 limit 为什么会影响性能

我们知道,当limit offset rows中的offset很大时,会出现效率问题:

2022-10-27
1

线大厂的分布式唯一ID生成方案

但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题,永不迁移数据和避免热点的文章中要求需要唯一ID的特性:

2022-10-27
1

一线大厂的分布式唯一ID生成方案

但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题,永不迁移数据和避免热点的文章中要求需要唯一ID的特性:

2022-10-27
2