Как улучшить производительность Hibernate в Java?

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

У меня есть случай, когда метод запроса SELECT будет выполняться каждую минуту. Здесь Hibernate дает мне медленный результат. Я использую Hibernate с MySQL.

2 ответов


обычной практикой является включение кэша 2-го уровня и кэша запросов. Чем ваши данные будут считываться из memmory не из БД.

хорошая статья об этом здесь

другие вещи могут быть полезными:

1 индексирование-в случае, если есть где и заказ - вы должны построить индексы для полей, которые вы ищете / заказ - это может улучшить скорость поиска в 10 раз

2 Denormalisation - если у вас много соединений некоторых denormalisation (кладя все в одну таблицу) может помочь. Но это должно быть окончательное решение, когда все остальное терпит неудачу.


Я бы предложил вам пойти на Pagination Если вам нужно отобразить записи на веб-странице и получить часть записей за один раз, скажем, 100.