MySQL Forums
Forum List  »  InnoDB

Re: How does Innodb cleverly avoid read-write conflicts when implementing mvcc?
Posted by: Y M
Date: September 04, 2021 05:08AM

Several locks are introduced in mysql, among which SELECT ... FROM is a consistent read, a snapshot of the read data and no lock is set (unless the transaction level is SERIALIZABLE)

The snapshot (mvcc) is implemented in mysql by adding a header (including transaction version and pointer) and logical visibility rules to the tuple(https://dev.mysql.com/doc/refman/5.7/en/innodb-locks-set.html)

But we always emphasize the design principle of the visibility rule, but ignore the fact that reading and writing to the tuple Header are two mutually exclusive actions, which can only be avoided by locking.

So how does the sentence of consistent read without lock understand? Is it just that there is no lock in a broad sense? How is the atomic reading and writing of the tuple Header designed? Is there any performance overhead? Is there any information available in this regard?

Many thanks!

Options: ReplyQuote




Sorry, only registered users may post in this forum.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.