Запрос и построение 1 миллиона точек данных с использованием Hibernate Highcharts

#spring #hibernate #spring-boot #highcharts

#spring #переход в спящий режим #spring-загрузка #высокие диаграммы

Вопрос:

У меня есть таблица с 5 миллионами записей, и мне нужно выполнить запрос, который вернет минимум 1 миллион записей.

Я попытался реализовать часть запроса, чтобы возвращать 1 миллион записей только с использованием Spring Boot Hibernate. Требуется 5 минут для запроса 60 ТЫСЯЧ записей для hibernate для запроса и отображения объекта. Но у разработчика SQL это занимает всего 0,03 секунды. при запросе 1 миллиона записей выдается ошибка тайм-аута.

У меня не может быть разбивки на страницы, так как я собираюсь отобразить результат в виде диаграммы (HighCharts). Мне нужны все данные для источника данных диаграммы.

Пожалуйста, предложите, как обрабатывать запросы к таким большим данным и отображать график

Комментарии:

1. Вы можете попробовать использовать query.setReadOnly(true).list(); Hibernate не помещает объект в контекст и будет работать быстрее. Но вы потеряете постоянство с этим объектом.

2. Конечно, вы можете задать setFetchSize(60000) — запрос. setFetchSize(60000).list()

3. Привет @Karthikeyan, Вам не обязательно загружать все данные сразу. Пожалуйста, ознакомьтесь с примером концепции отложенной загрузки: highcharts.com/stock/demo/lazy-loading