2013-07-20 1 views
0

У меня есть две таблицы: таблица категорий и стол. они имеют отношение «один ко многим», запись в таблице категорий может содержать много совпадающих записей в таблице сообщений. Я использую JPA, hibernate, MySQL. Если я хочу получить все должности категории, у меня есть два пути. первый путь: найдите категорию, затем получите все посты этой категории. второй способ: SELECT p FROM Post p WHERE p.category = :category. Как вы знаете, поле категории в столбце является внешним ключом и индексируется. Таким образом, запрос во втором способе будет выполняться быстро. Я хочу спросить, какой способ я должен использовать? Зачем? Thanksполучить сообщения категории в JPA, mysql

+0

Честно говоря, это не имеет большого значения. Второй будет немного быстрее, за исключением случаев, когда сбор сообщений уже загружен в сеанс. –

ответ

0

Вы должны сделать то, что имеет смысл в коде. Сделайте код четким и легким для рефакторинга, пока у вас не возникнут проблемы с производительностью.

Я бы использовал способ, который не требует, чтобы вы писали любые запросы. Это облегчит вам изменение ситуации позже, когда у вас есть проблемы с производительностью. Возможно, вы сможете лучше использовать свое время, оптимизируя медленные части вашей программы.

Для выполнения одной поездки в базу данных выполняется быстрее, чем несколько поездок. Следовательно, один запрос будет быстрее. Если есть много полей, вы также захотите ограничить количество полей, которые вы получаете, чтобы повысить производительность.

Смежные вопросы