0
更新100万条记录而不指定WHERE子句比指定更快吗?SQL:更新没有WHERE子句
UPDATE test
SET col1 = 'somevalue';
UPDATE test
SET col1 = 'somevalue'
WHERE col2 > 0;
道歉的noob问题,从逻辑上讲,我认为是没有然而其指定为它不会检查在条件满足,更快,这也可能意味着它会跳过其中条件不更新一行遇到。
是否有一个在线工具,我可以用样本数据测试速度。
感谢您的帮助。
我的猜测是,它将取决于匹配条件的行数,无论是索引和写入数据的成本。如果过滤器将使用索引过滤1000行,并将更新应用于它们,则应该快得多。无论如何,删除where改变了查询的含义。 – jpw 2014-11-06 00:00:56
这对练习很重要。条件得到满足?或者查询运行尽快。我猜想99%的情况下你只想更新你需要的行。与数据的一致性相比,性能是次要的 – 2014-11-06 00:04:42