Php sql连接还是调用其他模型?
我有两个表(item和category,我认为它们代表了它们自己)和两个关联的模型对象。在从数据库中获取1项的函数中,我面临一个设计决策。我还需要这个方法来返回项目的类别(名称,而不仅仅是id) 我有两个选择:Php sql连接还是调用其他模型?,php,oop,model,Php,Oop,Model,我有两个表(item和category,我认为它们代表了它们自己)和两个关联的模型对象。在从数据库中获取1项的函数中,我面临一个设计决策。我还需要这个方法来返回项目的类别(名称,而不仅仅是id) 我有两个选择: 在项目模型中,使用SQL联接以更快地获取数据 在item模型中,调用category模型来获取数据,以获得更好的代码 我该怎么办?在任何情况下,我都需要一个类别模型,因为我还将显示一个类别列表等。在不知道更多细节的情况下,如果这是应用程序速度关键的部分,我倾向于第一个选项。只要确保代
- 在项目模型中,使用SQL联接以更快地获取数据
- 在item模型中,调用category模型来获取数据,以获得更好的代码
我该怎么办?在任何情况下,我都需要一个类别模型,因为我还将显示一个类别列表等。在不知道更多细节的情况下,如果这是应用程序速度关键的部分,我倾向于第一个选项。只要确保代码得到了很好的注释。如果你有速度,而且两次执行的时间没有太大差别,我会执行第二次。因为当你在两年后再来看它时,你会发现,为什么商品模型会以其他方式提取类别信息,这就没有什么意义了。我也遇到了一个问题。。。总的来说,我发现如果你想要表现,你应该加入。如果速度不是问题,请选择第二个问题。如果仍要获取类别,那么为什么不保存/缓存它,并使用相同的对象来查找类别名称,而不是sql联接。在这种情况下,sql连接会更快的论点现在在某种程度上可以忽略不计
除非数据量巨大,速度至关重要,否则我可能会选择您最喜欢维护的任何方法。如果需要,您可以随时进行优化。在许多情况下,第二次选择的开销可以忽略不计 你的时间不是那么微不足道。也不是由谁(你?其他人?)维护代码的时间 干净地编写代码,调用类别,如果结果是“太慢”,则更改它 过早优化是万恶之源