2009-04-21 13 views
0

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

我有两个选择:

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

我该怎么办?我需要一个类别模型,因为我还会显示类别列表等。

回答

1

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

你的时间不是微不足道的。任何人(你?其他人?)都不会维护代码。

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

不成熟的优化是一切邪恶的根源。

0

不知道ALOT更多的细节,我倾向于倾向于第一个选项,如果这是速度的关键部分应用程序。只要确保代码评论良好。如果你有足够的速度进行比赛,并且两次执行之间的时间没有太大差异,我会做第二次。因为当你在两年后回到它时,它会让你更不明白为什么物品模型会拉动类别信息。

0

我也遇到过这个问题......总的来说,我发现如果你正在寻找性能,你应该去参加。如果速度不是问题,那么去第二个。

0

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

除非它是速度非常关键的大量数据,那么我可能会采用任何您最适合维护的方法。

相关问题