Собственный запрос Hibernate работает медленноJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Собственный запрос Hibernate работает медленно

Сообщение Anonymous »

У меня есть обычный простой SQL-запрос к базе данных SingleStore

Код: Выделить всё

SELECT ses.created_on, ses.update_on, ses.job_id, ses.ip
FROM session ses
WHERE ses.created_on != ses.updated_on
AND ses.updated_on >= DATE_SUB(NOW(), INTERVAL :threshold SECOND)
AND ses.created_on = :startDate
Время прямого запроса составляет 1,6 секунды, но когда я пытаюсь использовать его с @Query и Native=true, это занимает более 30 секунд. В нем около 1,5 миллиона элементов. Это нормально? Как его оптимизировать?
Я пробовал что-то подобное

Код: Выделить всё

@Query(value = """SELECT ses.created_on, ses.update_on, ses.job_id, ses.ip
FROM session ses
WHERE ses.created_on != ses.updated_on
AND ses.updated_on >= DATE_SUB(NOW(), INTERVAL :threshold SECOND)
AND ses.created_on = :startDate", nativeQuery = true)
Set query (@Param("threshold") Long threshold, @Param("startDate") Instant startDate, @Param("endDate") Instant endDate);

default Set dataquery(Instant startDate, Instant endDate, Long threshold){
query(threshHold, statDate, endDate)
.stream()
.map(tupl -> new Data(tupl.get("created_on", Timestamp.class).toInstant(),
tupl.get("updated_on", Timestamp.class).toInstant(),
tupl.get("job_id", Long.class),
tupl.get("ip", String.class)
.collect(Collectors.toSet());
}

Я пробовал использовать объект Projection вместо Tuple, но он все равно работает слишком медленно. Проблема находится внутри метода «запроса», а не из-за потока внутри «запроса данных». Только метод запроса выполняется около 30 секунд.

Подробнее здесь: https://stackoverflow.com/questions/792 ... works-slow
Ответить

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

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

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

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

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