前言事情是这样的,在某乎的邀请回答中看到了这个问题:!(https://s4.51cto.com/images/blog/202204/06221333_624da00d6760462453.jpg?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_2
我的个人网站(https://hulunhao.com)上线了,上面可以更好的检索历史文章,并且可以对文章进行留言,欢迎大家访问由于MySQL的整个体系太过于庞大,文章的篇幅有限,不能够完全的覆盖所有的方面。所以我会尽可能的从更加贴进我们日常使用的方式来进行解释。小白眼中的MySQL首先,对于我们来说,MySQL是个啥?我们从一个最简单的例子来回顾一下。!(https://s4.51cto.com
不知道大家有没有想过下面这件事?我们平时调用DELETE在MySQL中删除的数据都去哪儿了?这还用问吗?当然是被删除了啊!(https://s4.51cto.com/images/blog/202108/31/f16ee0119d1804075183e2cab6b9c6ba.jpeg?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i
之前的文章简单的介绍了MySQL的事务隔离级别,它们分别是:读未提交、读已提交、可重复读、串行化。这篇文章我们就来探索一下MySQL事务隔离级别的底层原理。本篇文章针对InnoDB存储引擎多版本并发控制我们知道,读未提交会造成脏读、幻读、不可重复读,读已提交会造成幻读、不可重复读,可重复读可能会有幻读,和串行化就不会有这些问题。那InnoDB到底是怎么解决这些问题的呢?又或者,你有没有想过造成脏读
之前发过一篇文章,简单了解MySQL中相关的锁(https://mp.weixin.qq.com/s/rB0MHssNG_9ivZP2kaEYw),里面提到了,如果我们使用的MySQL存储引擎为InnoDB,并且其事务隔离级别是RR可重复读的话,是可以避免幻读的。但是没想到,都1202年了都还有人杠,说InnoDB的RR隔离级别下会出现幻读,只能依靠gap和nextkey这两个锁来防止幻读,最开始
这应该是MySQL原理中最底层的部分了,我们存在MySQL中的数据,到底在磁盘上长啥样。你可能会说,数据不都存储在聚簇索引中吗?但很遗憾,你并没有回答我的问题。我会再问你,那聚簇索引在磁盘上又长啥样?就像Redis的RDB文件,最终落在磁盘上就是一个真真切切的dump.rdb文件,而MySQL就显得有点迷,我们只知道通过SQL去拿数据,并不知道数据最终是以什么方式进行存储的。当然,了解其底层的存储
之前写了一些关于MySQL的InnoDB存储引擎的文章,里面好几次都提到了页(Pages)这个概念,但是都只是简要的提了一下。例如之前在聊InnoDB内存结构(https://mp.weixin.qq.com/s/D4m5RZwOjhJpLytiJ5FdA)时提到过,但当时的重点是内存架构,就没有展开深入。我发现有好几次都需要提到页,那我就正好拿一篇来详细的讲讲InnoDB中的页。页是什么首先,我
之前的文章(https://mp.weixin.qq.com/s/rB0MHssNG_9ivZP2kaEYw)把InnoDB中的所有的锁都介绍了一下,包括意向锁、记录锁...自增锁巴拉巴拉的。但是后面我自己回过头去看的时候发现,对自增锁的介绍居然才短短的一段。其实自增锁(AUTOINCLocks)这块还是有很多值得讨论的细节,例如在并发的场景下,InnoDB是如何保证该值正确的进行自增的,本章就专
本文主要是带大家快速了解InnoDB中锁相关的知识为什么需要加锁首先,为什么要加锁?我想我不用多说了,想象接下来的场景你就能GET了。你在商场的卫生间上厕所,此时你一定会做的操作是啥?锁门。如果不锁门,上厕所上着上着,啪一下门就被打开了,可能大概也许似乎貌似有那么一丁点的不太合适。数据也是一样,在并发的场景下,如果不对数据加锁,会直接破坏数据的一致性,并且如果你的业务涉及到钱,那后果就更严重了。锁
浅入浅出 MySQL 索引
详细了解 MySQL 中 InnoDB 引擎的内存工作原理
深入了解基于 Redo Log 和 Undo Log 的 MySQL 崩溃恢复流程
深入了解 MySQL 主从复制的原理
简单了解 InnoDB 底层原理
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号