Transaction Isolation Level Advisor
Names the anomaly you are describing and the lowest isolation level that prevents it.
Loading the tool…
How to use this tool
- Describe what you actually observed, one symptom per line, in ordinary words.
- Choose your engine so the default level shown is the right one.
- Select Diagnose the anomaly.
- Read the named anomaly before the level — if the description does not match what you saw, the level below it will not help.
What isolation level advisor does
Isolation levels are taught as a table of four levels against four anomalies, which is exactly the wrong way round from how anybody meets them. You do not start with a level; you start with two users saving a form and one of the edits vanishing, or a report that shows money leaving one account without arriving in the other, or a count that changes halfway through a transaction. The hard part is putting a name to what you saw, because once it has a name the level that prevents it follows immediately.
Describe what you observed, one symptom per line, in whatever words you would use. This page matches each description against the known anomalies — dirty read, non-repeatable read, phantom, lost update, read skew, write skew — explains what is actually happening in each, and gives the lowest isolation level that prevents all of them together. It also notes the default on your engine, which is not the same everywhere: MySQL defaults to REPEATABLE READ and almost nothing else does. Where SERIALIZABLE is the answer it says what that costs, and points at the cheaper targeted fixes first.