假设我正在从数据库中加载大量对象。这些是普通的、普通的 PHP 对象,没有从任何花哨的东西继承。假设我可能会更改其中一些对象并希望将它们写回数据库,但只使用在 UPDATE ... SET ... 查询中实际不同的字段。还假设我事先不知道要更改哪些对象。
我在想我需要复制所有加载的对象,并保留以供参考和比较,如果我需要将对象写回数据库。
我看到两种可能的方法:
- 我可以克隆所有加载的对象并存储在单独的列表中。保存时,使用索引在列表中查找对象,然后比较值。
- 或者,我可以简单地将加载到字符串中的所有内容序列化,然后保留。保存时,在字符串中找到序列化的对象(以某种方式),将其反序列化,比较值,然后就可以了。
在效率方面(主要是内存,但速度也是一个考虑因素),哪个是有利的?