Collection<Domain> collection = hibernateQuery.list();
Hibernate: select * from ( SELECT rr.C1 as C10_, rr.C7 as C70 from table_name rr WHERE (1=1) AND
rr.c3>(sysdate- 45) ) where rownum <= ?
Вышеупомянутый запрос из Hibernate занимает всего несколько 100 миллисекунд. Но вызов list (), который выполняет вышеуказанный запрос и возвращает список, занимает больше минуты (иногда> 2 минут). Я не уверен, что является причиной этого. Я смог отследить время запроса из AppDynamics, но не смог детализировать, почему вызов list () занимает больше минуты
Количество возвращенных записей равно около 8-9к (иногда может быть и больше). В таблице содержится около 800 тыс. Записей, а столбец c3, указанный в запросе, проиндексирован. Я установил значение query.setMaxresults равным 50k. Количество столбцов в фактическом запросе равно 24. Я уменьшил количество столбцов в запросе здесь для простоты
Метод list () выполняет некоторую обработку возвращаемых результатов, что отнимает много времени. Кто-нибудь сталкивался с этой проблемой раньше? Любая помощь приветствуется.
Версия гибернации: 2.0, JDK - 1.8, DB - Oracle 11.2.0.4
Спасибо