• The code on the right is a transaction.

  • The code on the left is not. It's four transactions.

  • Without begin/commit, the statements run in auto-commit mode. Each statement is a transaction.

  • That's slow.

  • Due to the durability requirement, each insert has to be safe on disk before returning.

  • With the explicit transaction boundaries, this is only required after all of the inserts.