2016-11-02 33 views
1

在下面有兩個查詢,實際上他們都在做同樣的事情。它將所有產品標記爲已發佈。但第一個似乎覆蓋即使發佈是1,似乎做了更多的工作。第一個查詢與第二個查詢相比,性能,日誌...等方面有什麼不足?覆蓋相同的值有什麼不利之處?

發佈欄是有點不爲空

UPDATE Products 
SET Published = 1 

第二個查詢

UPDATE Products 
SET Published = 1 
WHERE Published != 1 
+1

一個很好的問題。我經常在類似的情況下想到同樣的事情。 –

+1

會有性能差異,但它們有多重要,它們的重要程度取決於您的索引和表的大小。 – ZLK

+0

您是否查看過兩種查詢的統計輸出結果,並比較了讀取/寫入/執行計劃?如果寫入次數更多,則會客觀地影響性能,但在時間上可能會忽略不計。 – dfundako

回答

0

您是否嘗試過使用這些設置的查詢表上的包含沒有指數爲Published一個龐大的數據量柱?我相信在這種情況下,第一個查詢會更有效,而不是第二個查詢。我所指的表格有多個列,根本沒有索引。希望有人澄清這一點。

相關問題