鉴于以下情况:
$userMapper = new UserMapper($db);
$user = $userMapper->find(381);
$user->name = 'Derp' //was Durr
$userMapper->save($user);
是否值得在 UserMapper 中构建逻辑来检测仅 name
已更改,从而构建更精简的 UPDATE 查询?或者从用户对象中的所有字段更新用户的整个记录是否更简单?
我认为 MySQL 在单个字段和五十个字段之间的更新性能可以忽略不计?
最佳答案
所有这一切都取决于很多因素。例如:正在处理的数据的大小。这些更新发生的次数。有很多事情需要考虑。在我看来,您当前的示例很好,除非它被证明是性能问题。
关于php - 在数据映射器模式中,是否值得跟踪哪些字段发生了变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19706965/