我的提问 我要提问

一匹河马2 2016-12-28 20:56:01

mvcc

mysql在利用mvcc的时候,给每条记录增加了两个列:插入(更新)事务号,删除事务号。那有个问题,数据库是什么时候真正的从磁盘中删除记录?

回答(2)

zhaiwx_yinfeng

  1. 聚集索引记录上只有一个事务号,就是最近一次修改的事务号
  2. 后台有个线程叫purge线程,在事务提交时会被唤醒,会根据undo 去找到标记删除的二级索引记录,然后去清理掉.

一匹河马2 0

mysql对update的实际操作过程是怎么样的呢?是insert一条新纪录然后删除老记录吗?还是直接更新之前的记录?