我为什么要或不应该使用脏读:

set transaction isolation level read uncommitted

在SQL Server中?

===============>>#1 票数:15 已采纳

来自MSDN

设置此选项后,可以读取未提交或脏的数据; 可以更改数据中的值,并且在事务结束之前,行可以在数据集中显示或消失。

简单地说,当您使用此隔离级别,并且作为一个事务的一部分在活动表上执行多个查询时,无法保证在事务的不同部分中返回给您的信息将保持不变。 您可以在一个事务中两次查询相同的数据并获得不同的结果(这可能发生在其他用户在您的事务中更新相同数据的情况下)。 这显然会对依赖数据完整性的应用程序部分产生严重影响。

===============>>#2 票数:6

通常,当您需要对繁忙的表执行大量(或频繁)查询时,提交的读取可能会被来自未通信事务的锁阻塞,但只有当您可以处理不准确的数据时。

例如,在我最近工作的游戏网站上,有一些关于最近游戏的统计数据的摘要显示,这都是基于脏读,对我们来说更重要的是包括然后排除尚未提交的交易数据(无论如何,我们知道很少(如果有的话)交易会退出),我们觉得平均来说数据会更准确。

===============>>#3 票数:0

如果你想立即恢复数据,请使用它,如果它是正确的则不是那么重要
如果数据重要正确或者您正在使用它进行更新,请不要使用

另请参阅sql server 2005中引入的快照隔离

===============>>#4 票数:-1

Thing是你想在提交之前读取数据的时候,我们可以借助set transaction隔离级别读取未提交的数据,数据可能会或者可能不会改变。

我们可以使用查询来读取数据:

Select * from table_name with(nolock) 

这仅适用于读取未提交的隔离级别。

  ask by Seibar translate from so

未解决问题?本站智能推荐:

1回复

SQL Server AlwaysOn中的脏读

我有一对SQL Server 2014数据库设置为同步AlwaysOn可用性组。 两台服务器均设置为“ Synchronous commit可用性”模式,会话超时为50秒。 次要对象设置为“ Read-intent only可读次要对象。 如果我写入主数据,然后立即从辅助数据中读取
3回复

SQL Server 2005:按视图包装表 - 优点和缺点

背景 我正在研究一个传统的小型企业自动化系统(库存,销售,采购等),它有一个由SQL Server 2005托管的单个数据库和一堆客户端应用程序。 主客户端(由所有用户使用)是MS Access 2003应用程序(ADP),其他客户端包括各种VB / VBA应用程序,如Excel加载项和
2回复

这些方法的优缺点是什么SQL Server繁琐的查询[保留]

这两个查询之间没有输入参数,而另一个查询具有输入参数,这有什么优点呢? 方法1: 方法2:使用输入参数 哪个更安全?
2回复

SQL Server中的派生表VS子查询:优点和缺点

我正在学习SQL Server,并且对了解哪种情况决定使用每个概念感兴趣。 我在下面有一个简单的示例,它将返回相同的数据。 我的问题是,在现实生活中,如何决定使用哪种技术? 与:
7回复

SQL给最终用户:利弊[关闭]

曾几何时,远在遥远的星系中,我见证了几位开发者之间的讨论。 主题是,如果给最终用户访问生产SQL服务器(MS SQL 2008)是个好主意,以便让他们能够根据自己的数据制作自己的报告。 这是商界人士的要求 - “我们的客户希望制作自定义报告”。 提出这个问题的人声称: 他
1回复

使用SQL查询设计器的优缺点

我已经看到许多开发人员使用SQL查询设计器来构建查询,而不是从头开始编写查询。 什么是使用SQL查询设计器来代替手工书写的查询的利弊 ? 它如何影响优化和查询维护。
3回复

使用MD5 Hash作为主键与使用int标识作为SQL Server主键的优缺点

我有一个应用程序来处理文件并将其分成多个段,然后将结果保存到sql server数据库中。 有许多重复文件(可能具有不同的文件路径),因此首先我浏览所有这些文件并为每个文件计算Md5哈希,并使用[Duplicated]列标记重复文件。 然后每天,我将运行此应用程序并将结果保存到[Resu
1回复

在SQL中创建约束的不同方法的优缺点是什么? [关闭]

虽然它可能看起来像基于意见的主要问题,但事实并非如此。 我想知道在SQL中创建约束的每种可能约定的优缺点是什么。 由于我使用的是SQL Server,因此我将展示三个创建主键约束的示例,我很满意: CREATE TABLE Persons (Id int NOT NULL PRI
47回复

将SQL保留在存储的Procs与代码中有什么优缺点?

将SQL保留在C#源代码或存储的Procs中有哪些优点/缺点? 我一直在和一个朋友在我们正在研究的一个开源项目(C#ASP.NET论坛)上讨论这个问题。 目前,大多数数据库访问是通过在C#中构建SQL内联并调用SQL Server DB来完成的。 因此,我正在尝试确定,对于该特定项目,哪一
1回复

SQL Server审核注销会创建大量读取

我正在使用SQL Server Profiler来确定哪些进程正在使用SQL进程,我发现事件类Audit Logout导致大量读取并消耗cpu进程。 这是正常的吗? 或者我在SQL Server配置中有什么问题?