![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库MySQL
文章平均质量分 69
bcd109
这个作者很懒,什么都没留下…
展开
-
MySQL中的索引相关问题
MySQL索引为什么采用B+树的数据结构?索引失效场景有哪些?原创 2024-07-11 09:33:22 · 386 阅读 · 0 评论 -
MySQL如何存放一行行数据以及NULL值存放在哪?
InnoDB提供了 4 种行格式存储数据,分别是 Redundant、Compact、Dynamic和 Compressed 行格式。原创 2024-06-23 15:46:36 · 383 阅读 · 0 评论 -
MySQL中的锁以及死锁问题
利用它的唯一性来保证订单表不会出现重复的订单,不过有一点不好的地方就是在我们插入一个已经存在的订单记录时就会抛出异常。:Record Lock + Gap Lock 的组合,锁定一个范围,并且锁定记录本身。,这样在备份数据库期间,不会因为数据的更新,而出现备份文件的数据与预期的不一样。,直到拥有间隙锁的那个事务提交为止(释放间隙锁的时刻),在此期间会生成一个。,表明有事务想在某个区间插入新记录,但是现在处于等待状态。:一个事务在插入一条记录的时候,需要判断插入位置。:锁定一个范围,但是不包含记录本身;原创 2024-06-22 18:40:29 · 913 阅读 · 0 评论 -
关于MySQL单表不要超过 2000W 行问题
对于叶子节点,用户记录数据主要存放的是主键和真正的行数据,这个影响的因素就会多很多,比如,字段的类型,字段的数量。对于非叶子节点,用户记录数据主要存放的数据是主键和页号,主键我们假设是 Bigint (8 B), 而页号也是固定的(4 B), 那么索引页中的一条数据也就是 12B。假设 B+ 树是三层,那就是 z = 3, Total = (1280 ^2) *15 = 24576000 (约 2.45kw)B+树上非叶子节点存放索引,非叶子节点里的每条数据都指向新的页,真正一行行的数据存放在叶子节点。原创 2024-06-22 16:31:43 · 463 阅读 · 0 评论