より効率的なもの - .netコードでIDbTransactionを持つか、データベースで処理する方が効率的です。どうして?コード対DBのトランザクションの効率
いずれかのシナリオを使用する可能性はありますか?
より効率的なもの - .netコードでIDbTransactionを持つか、データベースで処理する方が効率的です。どうして?コード対DBのトランザクションの効率
いずれかのシナリオを使用する可能性はありますか?
接続ベースのトランザクション(IDbTransaction
)では、全体のパフォーマンスはかなり似ていますが、.NETコードで処理することで、同じ接続で複数のデータベース操作を便利に行うことができます。 TSQL内でトランザクション管理を実行している場合は、実際には単一のTSQLクエリに限定する必要があります。初めと終わりに余分な往復があるかもしれませんが、それはあなたを傷つける可能性はありません。
(私自身のアプリケーションコードではなく)エージェント経由でサーバーから直接呼び出されたものを書いていた場合、TSQLベースのトランザクションを手作業で書くことはかなり珍しいことです。多くのためTransactions in .net参照IDbTransaction
間及びTransactionScope
大きな差があるが、短いバージョンは、TransactionScope
が(状況に応じて)わずかに遅いが、複数の接続/データベース(または他のリソース)にまたがることができることです。
ありがとうございましたMarc ...なぜ私はSQLストアドプロシージャでトランザクションを使用することができるのかIDbTransactionを使用する理由を知りたいです –
IDbTransactionを複数のアトミック操作おそらくすでに存在している)。トランザクションがsprocの内部にある場合、それを行うことはできませんが、それが単なる接続ベースであれば実行できます。それはまた、懸念の角度の分離からも優れています:あなたはトランザクションの責任を、sprocから離れて行きます。仕事は、あるデータ(など)を更新することです。 –
(回答に返信) –