【发布时间】:2014-03-20 13:13:23
【问题描述】:
我正在使用 SELECT * 在 1 个少于 1m 条记录的表上查询数据库。看来我的查询已经关闭了附加到数据库的应用程序。
DBA 告诉我使用正确的隔离级别以避免对数据库的影响。
我在查询中添加了WITH (NOLOCK),这样可以吗?另外,1个查询会关闭数据库是否正常?
【问题讨论】:
-
好吧,让查询能够关闭数据库需要特殊技能。在大多数情况下,Jedi 可以做到这一点;-) 好吧,说真的,您使用的是哪个 DBMS?我首先检查您的查询是否已被正确的索引覆盖。此外,如果您正在读取数据(不更新),您可以指定 NOLOCK,但在大多数情况下您不必这样做。
-
数据库在 SQL Server 中 - 我认为是 2008 年。我只是使用报表生成器查询它,我无法访问表结构,所以不知道索引。我只是觉得奇怪的是,一个只返回 5 列和少于 1m 条记录的查询会导致应用程序崩溃。我应该使用什么隔离级别?
-
有人告诉我,由于数据库中存在块,其他人无法使用它
标签: sql tsql reportbuilder3.0