是這種說法真的還是假的UPDATE VS COUNT VS SELECT性能
這些查詢的性能
SELECT * FROM table;
UPDATE table SET field = 1;
SELECT COUNT(*) FROM table;
相同
或者是有過這樣的情況,其中一個意志的表現與其他有很大不同?
UPDATE
- 我更感興趣,如果有在SELECT和更新之間較大的差異。如果需要,可以忽略COUNT(*)
- 假設select執行全表掃描。該更新還將對錶中的所有行執行更新。
- 假設更新只更新一個字段 - 雖然它會更新所有行(它是一個索引字段)
- 我知道他們會花費不同的時間,他們做不同的事情。我想知道的是如果差異會很大或不大。例如。如果更新將比選擇時間長5倍,那麼它是很重要的。將此用作閾值。而且沒有必要精確。只是給一個近似值。
你認爲UPDATE會比SELECT *大5倍嗎? – pillarOfLight
這取決於。涉及的每個資源都是最終_formula_中的一個維度。而且每一個維度都需要一個權重因子來形成一個「x = c * y」類型的公式。 IOW:YMMV。對其他非相關查詢和進程(主要是WRT緩衝區,內存和鎖)也有一定的影響 – wildplasser
如果我對限制進行更新,該怎麼辦?這會大大縮短所花時間嗎?例如,假設沒有限制,它將更新表中的所有500000行。將它限制爲1(因此只更新表中的1行)可以減少執行查詢所花費的時間? – pillarOfLight