小编Ron*_*hia的帖子

不同版本的 SQL Server 的查询性能是否不同?

我在我的存储过程中为 3 个不同的表触发了 3 个更新查询。每个表包含近 2,00,000 条记录,所有记录都必须更新。我正在使用索引来加快性能。它与SQL Server 2008配合得很好。执行一个存储过程只需12 到 15 分钟。(在所有三个表中在 1 秒内更新近 1000 行)

但是当我使用SQL Server 2008 R2运行相同的场景时,存储过程需要更多时间来完成执行。大约需要55 到 60 分钟。(在所有三个表中在 1 秒内更新近 100 行)。我找不到任何原因或解决方案。

我也用SQL Server 2012测试了相同的场景,但结果与上面相同。

这是我在存储过程中的 3 个表更新查询。

if (select COUNT(*) from table where conditions)>0

begin

    update table1
    set Coulmnname= @ColumnName
    where Conditions

    update table2
    set Coulmnname= @ColumnName
    where Conditions

    update table3
    set Coulmnname= @ColumnName
    where Conditions

end 
Run Code Online (Sandbox Code Playgroud)

执行计划 在此处输入图片说明 图 1 在此处输入图片说明 图 2

sql-server

3
推荐指数
1
解决办法
981
查看次数

标签 统计

sql-server ×1