MySQL Forums
Forum List  »  InnoDB

Re: Internal Behaviour of the MySQL Server
Posted by: Marko Mäkelä
Date: January 13, 2013 04:34AM

The design of InnoDB is largely based on the book Transaction Processing: Concepts and Techniques by Jim Gray and Andreas Reuter.

The InnoDB data files are always modified via the InnoDB buffer pool. The storage is divided into pages. In your example, there would be B-tree pages for the data and undo log pages for the rollback information. For every INSERTed row, InnoDB will write an insert_undo entry to the undo log. Undo logs are chained both by record version and by transaction. The COMMIT is fast; it will just drop the insert_undo log of that transaction. If the transaction generated any update_undo log, that will be left around until the purge thread comes and cleans it up. (The update_undo will be needed for multi-version concurrency control, if there are older transactions that should see the situation as it was before the COMMIT.)

Best regards,

Marko Mäkelä

Options: ReplyQuote


Subject
Views
Written By
Posted
2065
January 11, 2013 03:45AM
Re: Internal Behaviour of the MySQL Server
1125
January 13, 2013 04:34AM


Sorry, you can't reply to this topic. It has been closed.

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.