更新操作,尽量减少磁盘IO操作;

与查询流程不一样的是,更新流程还涉及两个重要的日志模块;

举例子,假如你是一个商店的老板,有一个记录会员余额的账簿,如果有人消费,则更新账簿里会员的余额;正常的话有两种做法:
1.找到会员余额记录,然后更新会员对应的余额;
2.另外作一个临时消费记录本,等营业结束后再翻开账本核算;
在商店很忙的时候,老板一定会选择后者,因为第一的操作方式太麻烦,首先你需要在海里会员里找到对应的会员余额,再计算,然后再写入会员的余额;
其实MySQL也是这样,如果有一条update操作每次都要写入磁盘,然后还需要在磁盘中找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高;
具体来说InnoDB引擎会先把记录写到redo log,并更新内存,这时候更新就算完成了,InnoDB引擎会在适当的时候,将这个操作记录更新到磁盘里面;