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