首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据库
订阅
巽竹
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
写缓冲(change buffer),这次彻底懂了!!!
上篇《缓冲池(buffer pool),彻底懂了!》介绍了InnoDB缓冲池的工作原理。 画外音:细节详见《缓冲池(buffer pool),彻底懂了!》。 毫无疑问,对于读请求,缓冲池能够减少磁盘IO,提升性能。问题来了,那写请求呢? 假如要修改页号为4的索引页,而这个页正好…
Mysql 百问系列:InnoDb加锁分析
数据库在RR(可重复读)隔离级别下。 我们知道这个时候,如果其他事务,想要修改id = 10 的信息是被阻塞的。 那么到这里看似顺利,我们稍微修改下,将id 改为9 ,我们知道9 这条数据是不存在的。 然后我们同样在事务B 中去更新id = 10 的数据。 看到更新没有被阻塞,…
MySQL死锁问题如何分析
如果我们的业务处在一个非常初级的阶段,并发程度比较低,那么我们可以几年都遇不到一次死锁问题的发生,反之,我们业务的并发程度非常高,那么时不时爆出的死锁问题肯定让我们非常挠头。不过在死锁问题发生时,很多没有经验的同学的第一反应就是成为一只鸵鸟:这玩意儿很高深,我也看不懂,听天由命…
Mysql 百问系列:死锁是怎么发生的
本文主要从共享锁(S锁)和独占锁(X锁)出发,详细说明两种锁的加锁机制,以及死锁如何产生。 上一篇文章中我们已经讲解了共享锁和独占锁的基本概念,我这边再详细将一下。 共享锁 Shared Locks (S 锁) 从名字就可以看出来它允许共享,共享的意思是当你给某个事物加上锁后,…
Mysql 百问系列:B+Tree 到底是什么
以前看过许多关于B+ Tree的文章,当时看了总觉得明白了,可是没过多久就又要忘了。直到我看了掘金小册:Mysql是怎么运行 第7,第8章才终于明白了B+ Tree到底是怎么回事。如果对Mysql内部具体如何实现感兴趣的可以去看小册,我自己看这2章,每章都花了2个小时,毕竟介绍…
Mysql 百问系列: 聚簇索引和二级索引到底有何不同
book表中,我们创建了3个索引,id 主键索引, idx_name 和 idx_author_name 2个非主键索引。 从定义来讲,主键索引就是聚簇索引,而非主键索引就是二级索引。一般情况下所有都是BTREE+ 结构的,除非特别指定所有为HASH结构。 BTREE +有文章…
Mysql 百问系列: update 语句到底做了些什么?
开启事务。 去Buffer Pool 中 查找id =2 所对应的数据。 如果在Buffer Pool中查找到了对应的数据,那么直接在Buffer Pool 中直接修改对应数据。如果没有找到,那么先从磁盘中找到对应数据,然后加载到Buffer Pool 中进行修改,修改前将原内…
Mysql 百问系列:redo log 做什么用?
引入了Buffer Pool 之后的确给数据的读写提升了效率。当然也同时带来了问题。 我的账户余额有200块钱,发工资那天公司汇进来5000块钱。 我们知道执行更新后,数据只是放在Buffer Pool 中,磁盘文件中还是老数据。可是偏偏倒霉,这时候服务器断电了,内存中的数据一…
Mysql 百问系列:Buffer Pool 是什么?
InnoDB 类型的存储引擎是会把数据写到磁盘上的。(Mysql 5.6.6 以后默认) InnoDB 以表为单位,生成 表名.frm 和 表名.idb 文件 存储在相应的Mysql存储目录下。 InnoDB 是以 页(一般为大小为16K) 为单位,从磁盘文件中读取数据 到内存…
Mysql 百问系列 : Join 会有哪几种工作方式?
现在有两张表,一张 shool表,一张 student表。 各插入1000条数据 (使用STRAIGHT_JOIN) 是防止Mysql 优化器自动优化,具体优化逻辑此处不展开,后续有机会详聊。 可以看到student 为 驱动表, school 为 被驱动表. 首先对stude…