2015-12-24 2 views
1

Запросы весенних данных, определенные как методы на интерфейсах репозитория, скомпилированы при запуске приложения. Если данные весны работают в сочетании с гибернацией или другим поставщиком JPA, означает ли это, что запросы не менее одинаково быстры, как работа с хранимыми процедурами? Во многих местах я читал, что хранимые процедуры являются самым быстрым способом запроса к базе данных, но позволяет ли этот подход решить эту проблему, чтобы избежать использования хранимых процедур?Весенние данные и спящий режим быстрее, чем хранимые процедуры

+1

Эх нет, вещи не получаются магически быстрее, бросая на него инструменты. Все зависит от того, насколько хорошо вы знаете упомянутые инструменты и сколько вы вкладываете в их правильное использование. ORM, такие как Hibernate, в частности, требуют профессиональной заботы, чтобы не поднять вашу производительность вниз. Я оптимизировал запросы JPA, чтобы сократить с 4000 SQL-запросов до 5, а время выполнения от секунд до миллисекунд. – Gimby

ответ

4

Хранимые процедуры - это не просто запросы. Это ... процедуры, которые выполняются в самой базе данных, как можно ближе к данным.

JPQL названные запросы проверяются и преобразуются в SQL-запросы во время запуска. AFAIK, запросы Spring-data-jpa проверяются во время запуска (но я не уверен, что они были преобразованы в SQL во время запуска). В любом случае, во время выполнения они все еще выполняются как SQL-запросы, так же как и те, которые вы выполняете с помощью подготовленных JDBC-операторов.

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