【发布时间】:2011-07-15 17:03:27
【问题描述】:
由于性能原因,我们重构了一些快速的“n”脏数据访问 (sql) 实现。 和之前一样,我们一步一步地访问我们的对象。首先是基本数据,而不是用一些相关数据填充它,这些数据可能会用一些其他相关数据填充。
到目前为止,所有数据都在单个 sql 语句中访问,这些语句更复杂,但不是太多 - 有四个连接顶部。
因此,我们检索的数据不是对象格式(实际上是嵌套数组),例如
prop1
prop2 -> prop2a,
prop2b -> prop2b1
prop2b2
prop3 -> prop3a
prop3b
而数据都是“扁平的”,比如
prop1
prop2a
prop2b1
prop2b2
prop3a
prop3b
我的 oo-instincts 告诉我在检索后对这些数据进行预处理,并将其发送到类对象结构中的前端(html、js - 这是我们唯一的客户端),因为它已在重构之前发送。另一方面,性能原因意味着只处理真正需要的量,如果可能的话,让客户做一些工作量。
底线:一般来说,这里的最佳/好的做法是什么?
a) 处理后端的数据准备
b) 将检索到的数据发送到前端并在那里进行处理
c) 尽快切换到 ORM 架构
非常感谢,
罗布森
【问题讨论】:
标签: php sql database performance orm