Hibernate – это известный ORM для Java-приложений. В этой статье я покажу вам, как повысить производительность, исключив запросы Hibernate N+1. После нескольких месяцев работы над моим первым сложным проектом с Spring и Hibernate мне нужно было повысить производительность, чтобы удовлетворить потребности моих пользователей. Именно тогда я обнаружил проблему N + 1 запросов и ее огромное влияние на производительность моих запросов.
Например, из-за N+1 запросов в режиме гибернации запрос на получение 20 последних сообщений вызывал 218 запросов к базе данных. После их решения количество запросов сократилось до 7, а время обработки сократилось с 3 секунд до 400 мс!
Чтобы помочь вам достичь аналогичных результатов, я сначала объясню, в чем заключается проблема с запросами Hibernate N + 1. Затем я покажу, как легко его обнаружить с помощью spring-hibernate-query-utils. И, наконец, я дам решения для исправления N + 1 запросов.
Смотрите полную версию статьи здесь: https://medium.com/sipios/eliminate-spring-hibernate-n-plus-1-queries-f0bcf6a83de2?source=friends_link&sk=5ba0f2493af1d8496a46d5f116effa96
Оригинал: “https://dev.to/ybri/eliminate-hibernate-n-1-queries-4oio”