On 7/15/22 18:31, merryok wrote:
I'm sorry, first time to post a thread. mtr is short for mini-transaction.
About mtr in mysql, we can refer to
https://dev.mysql.com/doc/refman/8.0/en/glossary.html
<https://dev.mysql.com/doc/refman/8.0/en/glossary.html> or
https://dev.mysql.com/blog-archive/mysql-8-0-new-lock-free-scalable-wal-design/
<https://dev.mysql.com/blog-archive/mysql-8-0-new-lock-free-scalable-wal-design/>
So an insert in mysql, wrapped in a user transaction, may result in
multiple mini-transactions, one is responsible for writing redo for
undo, the other one for writing redo for clustered index/secondary
index, and so on. Each mtr may modify multiple pages, whose redo logs
are guaranteed by mtr to be written into disk or none of them are written.
Read this:
https://www.postgresql.org/docs/current/wal.html
and see if it answers your questions.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx