假設我有一張有1000個記錄的表格,我只想更新一條記錄。如果我指定更多'WHERE'子句來縮小搜索範圍以減少可能的匹配記錄,或者更快地聲明一個WHERE子句(例如recordID),是否會使查詢更快?mySQL:最有效的方法來更新大型數據庫中的記錄?
實施例:
UPDATE table
SET record_name = 'new name'
WHERE record_ID = 'x'
LIMIT 1
或
UPDATE table
SET record_name = 'new name'
WHERE record_ID = 'foo'
AND record_city = 'bah'
LIMIT 1
因此,指定更多識別事物不會加速查詢? – wilsonpage 2011-05-11 11:28:15
如果您沒有通過索引列更新內容,它可以提供幫助 - 您的where子句越詳細,則需要掃描和更新的記錄越少。通過主鍵進行更新很容易成爲更新單條記錄的最快方式。 – 2011-05-11 12:11:26