During the process of reviewing our server defaults for MySQL 5.7,
we thought that it might be better to change the default transaction isolation level from
REPEATABLE-READ
to READ-COMMITTED
(the
default for PostgreSQL, Oracle, and SQL Server). After some
benchmarking, however, it seems that we should stick with
REPEATABLE-READ as the default for now.
It’s very easy to modify the default isolation level, however,
and it can even be done at the SESSION
level. For
the most optimal performance you can change the transaction
isolation level dynamically in your SESSION according the
situation:
- For short running queries and transactions, use the default
level of
REPEATABLE-READ
. - For long running queries and transactions, use the level of
READ-COMMITTED
.
You can find the full details of our recent benchmarking efforts on this topic here: http://dimitrik.free.fr/blog/archives/2015/02/mysql-performance-impact-of-innodb-transaction-isolation-modes-in-mysql-57.html
As always, THANK YOU for using MySQL!