![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 96
以终为始001
每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢
展开
-
MySQL中的redo log、undo log、bin log
这个和磁盘的扇区有关,机械磁盘默认的扇区就是512字节,如果你要写入的数据大于512字节,那么要写入的扇区肯定不止一个,这时就要涉及到盘片的转动,找到下一一个扇区,假设现在需要写入两个扇区A和B,如果扇区A写入成功,而扇区B写入失败,那么就会出现。可以发现每次对数据的变更都会产生一个undo log,当一条记录被变更多次时,那么就会产生多条undo log,undo log记录的是变更前的日志,并且每个undo log的序号是递增的,那么当要回滚的时候,按照序号。.........原创 2022-08-12 20:25:13 · 400 阅读 · 0 评论 -
MySQL锁机制详解
为实现MySQL 的各个隔离级别提供了保证情况,即并发事务相继。读取操作本身不会对记录有任何影响,并不会引起什么问题,所以允许这种情况的发生。 情况,即并发事务相继对相同的记录做出改动。会产生脏写问题,mysql中的任何隔离级别都不允许这种问题产生(加锁机制实现,让它们排队执行)。事务执行前本来没有锁。当另一个事务想对这条记录做改动时,首先会看看内存中有没有与这条记录关联的 ,当没有的时候 才会在内存中生成一个 与之关联。比如,事务 要对这条记录做改动,就需要生成一个 与之关联:is_wating代表原创 2022-08-12 20:19:06 · 154 阅读 · 0 评论 -
innodb中的行格式——Compact、Dynamic、Compressed、Redundant详解
Compact格式会把所有可以为NULL的列统一管理起来,存在一个NULL值列表,如果使用一个特定的符号放到相应的数据位表示空置的话,虽然能达到效果,但是这样很。真实数据除了我们自定义的数据以外,还存在三个隐藏列(用于MVCC、回滚等等):记录一些可变长的列表(varchar类型定义的)的真实存储数据长度。的,如果没有标注出来NULL值的位置,就有。一条完整的记录其实可以分为。之所以要存储NULL是因为。:表示从当前记录的真实数据。......原创 2022-08-07 21:45:56 · 1966 阅读 · 0 评论