It is with interest that I read Kristian's three blogs on the binary log group commit. In the
article, he mentions InnoDB's prepare_commit_mutex
as the main hindrance to accomplish group commits—which it indeed
is—and proposes to remove it with the motivation that FLUSH
TABLES WITH READ LOCK can be used to get a good binlog
position instead. That is a solution—but not really a good
solution—as Kristian points out in the last post.
The prepare_commit_mutex is used to ensure that the
order of transactions in the binary log is the same as the order
of transactions in the InnoDB log—and keeping the same order in
the logs is critical for getting a true …