任务是根据匹配情况使用原始表中的数据更新 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中文网其他相关文章!