sql join还是调用另一个模型?

时间:2009-04-21 11:17:38

标签: php oop model

我有两个表(项目和类别,我认为他们自己说话)和两个相关的模型对象。我面临着从数据库中获取1项的函数中的设计决策。我需要这个方法来返回项目的类别(名称,而不仅仅是id)。

我有两个选择:

  • 在项目模型中,使用SQL联接来更快地获取数据。
  • 在项目模型中,调用类别模型以获取数据,以获得更好的代码。

我该怎么办?在任何情况下我都需要一个类别模型,因为我还会显示一个类别列表等。

4 个答案:

答案 0 :(得分:1)

如果需要,您可以随时优化。在许多情况下,第二次选择的开销可以忽略不计。

你的时间不是那么微不足道。也不是任何人的时间(你?别人?)维护代码。

干净地编码,调用类别,如果结果是“太慢”,则更改它。

过早优化是万恶之源。

答案 1 :(得分:0)

在不了解更多细节的情况下,如果这是应用程序的速度关键部分,我倾向于倾向于第一个选项。只需确保代码评论良好。如果你有速度玩,两次执行之间的时间差别不大,我会做第二次。因为当你在两年内回归它时,为什么项目模型会提取类别信息会更加不合理。

答案 2 :(得分:0)

我也面临过这样的问题......总的来说,我发现如果你正在寻找表现,你应该去参加。如果速度不是问题,请选择第二个。

答案 3 :(得分:0)

如果您要获取类别,那么为什么不保存/缓存它并使用相同的对象来查找类别名称而不是sql连接。在这种情况下,sql join更快的参数现在可以忽略不计

除非速度至关重要的是大量数据,否则我可能会采用您最容易维护的方法。