2
我被唯一索引更新單列:SQL更新單列,Where子句
UPDATE Users SET Enabled=1 WHERE Id=1
它使關於執行速度,以檢查它是否已經Enabled
意義嗎?
UPDATE Users SET Enabled=1 WHERE Id=1 AND Enabled<>1
我被唯一索引更新單列:SQL更新單列,Where子句
UPDATE Users SET Enabled=1 WHERE Id=1
它使關於執行速度,以檢查它是否已經Enabled
意義嗎?
UPDATE Users SET Enabled=1 WHERE Id=1 AND Enabled<>1
我喜歡寫那些冪等SQL腳本:
UPDATE Users
SET Enabled=1
WHERE Id=1
AND Enabled<>1; -- if column is defined as NOT NULL
方案:
附加子句可以使SQL更慢嗎?不是更快?即使假設有相當數量(20%-80%)的案例行未更新。正如我所看到的,沒有情況是我的情況,我只需要確保Enabled儘可能快,僅此而已。 – Molochnik
您必須指定專門的RDBMS,他們的言行舉止變化基於數據庫引擎。 – Andrew
您定義了哪些索引? - 例如,如果你有一個在id上定義的索引,但沒有啓用,那麼第二種方式將會變慢而不是變快。 – Hogan
Id是唯一索引,Enabled不是(它可以是0或1) – Molochnik