0

我有两个表:类别表和帖子表。它们是一对多的关系,category表中的一条记录在post表中可以有很多匹配的记录。我正在使用 JPA、休眠、MySQL。如果我想获得所有类别的帖子,我有两种方法。第一种方法:找到一个类别,然后获取该类别的所有帖子。第二种方式:SELECT p FROM Post p WHERE p.category = :category。如您所知,post表中的category字段是一个外键并且被索引。所以第二种方式的查询将执行得很快。我想问我应该使用哪种方式?为什么?谢谢

4

1 回答 1

0

你应该做一个在代码中更有意义的事情。使您的代码清晰且易于重构,直到出现性能问题。

我会使用不需要您编写任何查询的方式。这使您在以后遇到性能问题时更容易进行更改。您可能可以更好地利用您的时间来优化程序的慢速部分。

就性能而言,单次访问数据库比多次访问要快。因此,一个查询会更快。如果有很多字段,您还需要考虑限制要获取的字段数量以提高性能。

于 2013-07-20T18:43:03.343 回答