Способы повышения производительности пакетных запросов с помощью Spring QueryJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Способы повышения производительности пакетных запросов с помощью Spring Query

Сообщение Anonymous »

У меня есть одна цель: получить минимально возможное время запроса для массовой вставки N количества записей с использованием стандартного Spring Data JPA с использованием удаленной базы данных Oracle. Я попробовал несколько оптимизаций, упомянутых ниже, но сначала позвольте мне объяснить сценарий.
Я создал одноуровневую сущность (без ассоциаций) с 15 полями (в основном строками и длинными значениями с создано и изменено по датам). Я использую контроллер, который принимает счетчик (в данном случае 20 КБ) и запускает простой метод для создания экземпляров записей размером 20 000 с помощью new Entity() и заполнения их случайными данными. Наконец, мы использовали метод saveAll() этого репозитория объектов, чтобы сохранить все объекты в базе данных. Теперь подходы, которые мы опробовали:
  • Стандартный способ, никакие изменения в приведенной выше логике не занимают около 40 секунд.
  • Добавлено новое поле с использованием интерфейса Persistable, что позволило сократить выборочные запросы и несколько секунд процесса.
  • Добавлены свойства пакетной вставки JPA с размером пакета 250, что сокращено до 33% времени. .
  • Увеличить размер пакета до 5 000 записей в пакете, что сократило его до 8–9 секунд.
Что я еще не пробовал, так это использовать пакет Spring на данный момент (который находится в стадии разработки)?
Кроме этого, у меня закончились возможности повышения производительности, и я не уверен, практически возможно ли это сделать . (Не учитывая неконтролируемые на данный момент факторы, такие как пропускная способность сети и все такое)
Есть ли какой-либо другой способ или конфигурация, которую нам не хватает, которая могла бы еще больше улучшить ее?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ring-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»