Percona 老大 Peter Zaitsev 寫了一篇關於 InnoDB 的 isolation mode 與效能的關係:「 MySQL performance implications of InnoDB isolation modes 」。
關於 isolation level 的介紹,也可以參考維基百科上的說明:「 Isolation (database systems) 」。
其中有個我也認同的的建議:
In general I think good practice is to use READ COMITTED isolation mode as default and change to REPEATABLE READ for those applications or transactions which require it.
需要 REPEATABLE READ 需求的 transaction 可以在 session 裡面開,不需要平常就開著。
而剛從 MyISAM 轉過去的因為本來就沒有 transaction,換到 InnoDB 時強烈建議就直接設上去 (剛好在註解也有提到):
I think READ-COMMITTED is better default yet it can break some applications. Though so changing to default storage engine from MyISAM to Innodb did.