2013-07-05 69 views
0

一直在爲C#數據數據使用Connection類工作幾天,並且一直在思考,通常我在創建類時使用一個標誌來打開和關閉事務,如果我爲每個執行的非查詢使用事務,會發生什麼?我應該知道的缺點的任何優點?使用SQL中的事務處理所有事務

+1

什麼是「非查詢」? – Tigran

+0

除了長時間鎖住鎖具之外,我看不出明顯的缺點。 –

+0

[「非查詢」](http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery.aspx)應該表示更新/插入/刪除/ ...不會返回結果。 –

回答

0

長事務處理是鎖定表,所以在事務中執行所有事情,尤其是長時間運行操作是不可取的,因爲它可能會終止數據庫。

更多信息閱讀: http://simononsoftware.com/are-long-running-transactions-bad/

+0

首先,如果您要鎖定表格,則可能是錯誤地處理了事務。其次,在大多數(所有?)現代SQL dbms中,[每個SQL更新在事務中執行](http://msdn.microsoft.com/zh-cn/library/ms174377%28v=sql.105%29.aspx) 。 –

0

你可以寫關於交易的整體大書,它的優點和缺點。但主要想法是:除非您爲大公司處理biiiiiig數據庫,只是使用交易;)