这是优化 MySQL Query 的正确方法吗?
Posted
技术标签:
【中文标题】这是优化 MySQL Query 的正确方法吗?【英文标题】:is this the correct way to optimize MySQL Query? 【发布时间】:2010-10-01 11:39:59 【问题描述】: $sql="update users_contain
set
wood_max = (Select building_production from building_level where merge_id=$subPrimaryKey and empire_id=$user_empireID) ,
iron_max = wood_max,
clay_max = wood_max
where user_id = $user_id";
现在有一个问题。
wood_max 是否总是比 Iron_max 和 Clay_max 先更新。所以用这种方式安全吗?? 当我知道它对所有三个字段具有相同的值时,我不想使用内部查询来更新 Iron_max 和 Clay_max。
【问题讨论】:
【参考方案1】:根据本文档,您的 UPDATE 语句可以按照您的意愿工作:http://dev.mysql.com/doc/refman/5.1/en/ansi-diff-update.html
测试一下确定,但我认为你没问题。
【讨论】:
“此行为不同于标准 SQL。”吓人。 是的,这有点吓人,但是由于 OP 指定 MySQL 作为他们的数据库平台,他们会没事的。如果支持多个数据库平台,则必须小心。 谢谢!您的链接是 FINAL.. 就像 Final Classes..:)以上是关于这是优化 MySQL Query 的正确方法吗?的主要内容,如果未能解决你的问题,请参考以下文章
SQL调优指南笔记4:Query Optimizer Concepts