TIP:Transaction使用原則,只在程式需要的時候使用.例如:如果是簡單的從資料庫取資料,或者簡單的查詢,你就不需要使用transaction,另一方面,如果你是在幾個相關聯的表中插入資料,你就需要使用事務.一般來講,我們不會為一個簡單的操作使用事務:比如Update,DELETE或者Insert.
Even though ADO.NET provides good support for transactions, you should not always use transactions. In fact, every time you use any kind of transaction, you automatically incur some overhead. Also, transactions involve some kind of locking of table rows. Thus, unnecessarily using transactions may harm the overall scalability of your application.When implementing a transaction, you can follow these practices to achieve the best results:
• Keep transactions as short as possible.
• Avoid returning data with a SELECT query in the middle of a transaction. Ideally, you should return the data before the transaction starts.
• If you do retrieve records, fetch only the rows that are required so as to not lock too many resources and so as to keep performance as good as possible.
• Wherever possible, write transactions within stored procedures instead of using ADO.NET transactions.
• Avoid transactions that combine multiple independent batches of work. Put separate batches into separate transactions.
• Avoid updates that affect a large range of records if at all possible.