- A transaction should contain statements that are related and should succeed or fail together.
- Larger transactions can improve performance in some cases.
- Overly large transactions can reduce parallelism or increase deadlocks.
- Snowflake recommends keeping AUTOCOMMIT enabled and using explicit transactions as much as possible.
- Avoid changing AUTOCOMMIT merely to start a new transaction implicitly.
- Avoid executing more than one BEGIN TRANSACTION statement in a row. Extra BEGIN TRANSACTION statements make it harder to see where a transaction actually begins.