任務是根據匹配情況使用原始表中的資料更新tobeupdated 表儲存在VARCHAR(32) 欄位中的值。目前的查詢雖然功能正常,但有效能問題。
要提高效能,請考慮以下最佳化查詢:
UPDATE tobeupdated INNER JOIN original ON (tobeupdated.value = original.value) SET tobeupdated.id = original.id
此查詢利用JOIN 語法而不是多個WHERE 條件,使其更易於閱讀。此外,請確保兩個表都在值欄位上建立了索引,以便在連接操作期間加快查找速度。
為了進一步優化,使用USING 關鍵字的查詢的簡化版本建議:
UPDATE tobeupdated INNER JOIN original USING (value) SET tobeupdated.id = original.id
當連接中的兩個表共享相同的命名鍵(例如本例中的id)時,使用USING 關鍵字,表示等連接優化。
以上是如何有效率地從另一個表更新 MySQL 表值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!