mysql update的机制


本帖最后由 chenfeng 于 2016-8-9 19:59 编辑



从图中,可以看到,一个Update操作的具体流程。当Update SQL被发给MySQL后,MySQL Server会根据where条件,读取第一条满足条件的记录,然后InnoDB引擎会将第一条记录返回,并加锁 (current read)。待MySQL Server收到这条加锁的记录之后,会再发起一个Update请求,更新这条记录。一条记录操作完成,再读取下一条记录,直至没有满足条件的记录为止。因此,Update操作内部,就包含了一个当前读。同理,Delete操作也一样。Insert操作会稍微有些不同,简单来说,就是Insert操作可能会触发Unique Key的冲突检查,也会进行一个当前读。

总的来说 service 读取数据 innodb(引擎)执行
流程如下
service 读一条记录,引擎会 对读取的记录加锁,并通知service,service发起update命令,引擎对加锁的记录进行update动作


mysql update的机制

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30127122/viewspace-2123318/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30127122/viewspace-2123318/