2014-10-16 39 views
-3

我有用NodeJs编写的服务器,它有来自Sql Server的db。长查询比一些短查询更好吗?

我需要编写一些更新查询。那么,有一个查询之间有什么不同:

UPDATE [dbo].[Groups] 
SET [GroupName] = 'bb' 
WHERE GroupId='2058' 
GO 

UPDATE [dbo].[Groups] 
SET [GroupName] = 'bb2' 
    ,[Image] = NULL 
    ,[img] = NULL 
WHERE GroupId='2059' 
GO 

或写入2个查询和运行各自分别:

1.

UPDATE [dbo].[Groups] 
    SET [GroupName] = 'bb' 
WHERE GroupId='2058' 

2.

UPDATE [dbo].[Groups] 
    SET [GroupName] = 'bb2' 
     ,[Image] = NULL 
     ,[img] = NULL 
WHERE GroupId='2059' 

有表演之间有什么不同?

+1

是的,有区别。所给出的信息不可能确定这种差异以及哪种方式更好。试着问一些更具体的问题或者更一般的问题......我不确定,因为很难说出你所得到的结果。 – ChrisCM 2014-10-16 17:45:42

+0

据我所知,在性能量表上没有差异。 – Rahul 2014-10-16 17:46:48

+1

@Rahul:不正确。如果你可以并行运行这些数据,并且返回一堆数据,那么很可能另一个数据可以完成,对数据进行计算并继续。虽然查询时间可能相同(我不相信它是,它至少依赖于系统),但性能影响是显着的。所以建议OP的方法没有不同是不正确的。因此,我们没有足够的信息。 – ChrisCM 2014-10-16 17:48:02

回答

2

是的,两个查询之间是有区别的。第一个批量运行你的2个查询,第二个不是。当批量运行多个查询时,由于网络开销和延迟,性能通常会更好,然后单独运行它们。