2014-10-16 35 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個查詢,第二個不是。當批量運行多個查詢時,由於網絡開銷和延遲,性能通常會更好,然後單獨運行它們。