2013-07-20 34 views
0

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

+0

坦率地说,这并不重要。第二个会稍微快一点,除非帖子的集合已经加载到会话中。 –

回答

0

你应该做的代码更有意义。在你遇到性能问题之前,让你的代码清晰并且容易重构。

我会用这种方式,不要求你写任何查询。这可以让您在确实遇到性能问题时稍后进行更改。您可以更好地利用您的时间来优化程序的慢速部分。

对于性能而言,单次访问数据库比多次访问更快。因此,一个查询会更快。如果有许多字段,则还需要考虑限制要提高性能的字段数。