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