在应用程序中运行一个很长的查询

时间:2012-03-25 17:43:59

标签: c# sql-server-2008

我正在创建一个使用C#从文本文件运行查询的应用。

查询的一行如下:

update table1 set value1 = (select valueA from table2 where valueB = 'someValue')
set ...
where value2 = 'anotherValue'

Set语句每个看起来都与上面的语句完全相同,并且所有语句都在同一个更新语句中。

读取文件的时间太长,程序没有响应。我甚至尝试在SSMS中执行查询 - 它不起作用。

编辑:我有70000多条更新声明。

我需要C#中的解决方案而不是SQL。

我使用的是Visual Studio 2010 Express和SQL Server 2008 Express。

1 个答案:

答案 0 :(得分:0)

如果您的索引和查询计划一切正常, 你有没有尝试过一些表提示(用...)来检查这是否来自锁定问题?

update table1 set value1 = (select valueA from table2 with (nolock) where valueB = 'someValue')
set ...
where value2 = 'anotherValue'

请注意,如果您不确定查询所执行的操作,则运行此类表提示可能会在数据库/更新结果中引入一些不一致。