innodb对update的处理

当更新非聚集索引上记录 和 聚集索引上的主键时,是标记删除,然后插入新的记录

当更新聚集索引上的非主键列时,是updated-in-place,也就是说原地修改,不会插入新记录。

之前一直以为都是以标记删除作处理的,翻了下代码。找到两个函数:

btr_cur_del_mark_set_sec_rec   对非聚集索引上的记录进行标记删除

btr_cur_del_mark_set_clust_rec 对聚集索引上的记录进行标记删除

posted @ 2014-01-14 15:05  文彪  阅读(781)  评论(0编辑  收藏  举报