-
Notifications
You must be signed in to change notification settings - Fork 317
Open
Labels
Enhancement 💡Issues that are feature requests for the drivers we maintain.Issues that are feature requests for the drivers we maintain.Performance 📈Issues that are targeted to performance improvements.Issues that are targeted to performance improvements.
Description
In Npgsql, calling DbConnection.BeginTransaction doesn't actually do anything - it simply sets an in-memory state flag. When a command is next actually executed on the connection, the begin transaction is prepended to it, so they are delivered as a single batch. This eliminates an additional roundtrip to the database, which can be quite significant. SqlClient could do the same.
Note that this may have visible side-effects, e.g. if BeginTransaction() can throw because of any sort of incorrect state (I'm not sure this can actually happen in SQL Server, but it does need to be taken into account). Even if that's the case, the elimination of a full roundtrip for the happy path would still likely justify this, IMHO.
RyanLamansky
Metadata
Metadata
Assignees
Labels
Enhancement 💡Issues that are feature requests for the drivers we maintain.Issues that are feature requests for the drivers we maintain.Performance 📈Issues that are targeted to performance improvements.Issues that are targeted to performance improvements.