c# - 我应该在读取记录时使用 SQL 事务吗?

标签 c# sql sql-server-2005

SQL事务用于插入、更新,但它应该用于读取记录吗?

最佳答案

如果你是在一次查询中查询所有的记录,然后一次性拉回来,就没有这个必要了。一切都包含在隐式交易中。也就是说,即使您取回了一百万条记录,即使其他进程正在更改这些记录,您也会看到所有一百万条记录在同一时间点的样子。

在只读进程中你真正需要一个事务(通常是一个特定的锁定提示)的唯一时间是:
- 您可以“零碎”地阅读记录,并且在迭代时不需要其他任何东西来更改值。 [例如 ADO 中连接的记录集,然后您可以通过光标浏览。]
- 您读取了一些数据,进行了一些计算,然后读取了一些相关数据,但假设在此期间没有任何变化。


简而言之,当您希望其他进程停止在 SQL 语句之间干扰您的数据时,您需要事务。

关于c# - 我应该在读取记录时使用 SQL 事务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085095/

相关文章:

sql-server - 如何使用查询从链接服务器获取数据

c# - 我应该动态重新创建 PDF,而不是将其存储在数据库或文件系统中吗?

c# - ASP :repeater collapsing table rows - Updated

c# - LINQ:SubmitChanges 上的多个 DeleteOnSubmit 订单行为

c# - 如何在与文本框控件无关的情况下将 ENTER 链接/设置为 winforms 中的函数?

SQL:选择表中而不是子查询中的所有内容?

sql - 使连接条件更具排他性会导致查询挂起

sql-server - 包部署错误 - 将连接字符串更改为 SQLNCLI10 或查找并安装对 SQLNCLI.1 的支持?

c# - 从第三方重定向 log4net 日志

sql - 仅替换字符的第 n 个实例