MySQL
文章平均质量分 54
毛毛怪不奇怪
这个作者很懒,什么都没留下…
展开
-
MySQL索引(一)为什么使用b+tree
MySQL官网对于索引的定义: 索引是帮助MySQL高效获取数据的数据结构! MySQL的使用主要就包括增删改查,要想实现这些,我们首先就要定位到数据,因此搜索算法是很必要优化的,常见的搜索算法如顺序搜索O(n),这肯定不在考虑范围之内, 二分查找O (log(n)) , ...原创 2021-10-14 13:48:07 · 190 阅读 · 0 评论 -
MVCC深入理解看这一篇就够了
在深入挖卷MVCC的实现过程之前,我们先了解一下SqL中定义的事物隔离级别 RU 未提交读 RC 已提交读 RR 不可重复读 SERIALIZABLE 串行 MVCC 多版本并发控制链 多版本控制指的是一种提高并发的技术,它指的是一条数据有多个版本,每次修改这个数据都会存储这条记录被修改前的版本,多版本之间串行存储在undolog中,用来实现RC,RR。 一行数据除了存储真实部分之外,它还会有隐藏部分,隐藏部分包括三个字段 A 6-byte trx_..原创 2021-10-07 19:01:46 · 266 阅读 · 0 评论 -
MySQL数据库为什么不推荐使用外键约束?
阿里巴巴的Java开发手册中有这样一句话: 不得使用外键与级联,一切外键概念必须在应用层解决! 以student和grade的关系为例 ,student中的student_id是主键,成绩表中的student_id则为外键 ! 先了解一下什么叫级联更新和级联删除! 当在student表中要删除或者更新student_id=20的相关信息,马上在grade表中中查找是否有student_id=20这个记录,然后进行删除或更新,这就叫级联。 外...原创 2021-10-05 01:17:33 · 2177 阅读 · 0 评论