snapshot: every query in a transaction only sees changes that have been committed up to the start of the transaction it’s like a snapshot version of the database at the moment of the transaction start.
- pros: you will avoid every database read phenomenas
- cons: still might be slow and expensive if you use this for all your transactions