2013-07-05 32 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数据库,只是使用交易;)