скорость выборки в hibernate в избранное  новое горячее всё    подписка   модер. 
От: Amigo111 
Дата: 18.03.10 13:10
делаю запрос для получения списка объектов через
List list = getHibernateTemplate().find(sql);
в маппинге везде поставлены lazy="true" на связанные коллекции..включил логи хибернейта, чтобы отображал формируемые запросы..выполняется всего один запрос..и засекаю время выполнения и кол-во полученных объектов
952 объекта — 15 секунд
12 тыс. объектов — 160 секунд
это вообще нормально для хибернейта?

пробую выполнять формируемые хибернейтом sql-запросы в клиенте к бд..моментально выполняются..

Может знаете куда смотреть?
Re: скорость выборки в hibernate в избранное  новое    модер. 
От: Blazkowicz модератор 
Дата: 18.03.10 13:27
Оценка: +1
Здравствуйте, Amigo111, Вы писали:

A>пробую выполнять формируемые хибернейтом sql-запросы в клиенте к бд..моментально выполняются..

ORM в первую очередь преднозначены для упрощения работы с разветвленной моделью объектов. Для выборки больших массивов данных лучше взять другой инструмент.
Re: скорость выборки в hibernate в избранное  новое    модер. 
От: techgl 
Дата: 18.03.10 17:10
Здравствуйте, Amigo111, Вы писали:

A>это вообще нормально для хибернейта?

А если профайлером посмотреть, основное время будет на отображение ResultSet -> Object затрачиваться?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: скорость выборки в hibernate в избранное  новое    модер. 
От: intr13http://intr13.ru/
Дата: 18.03.10 23:08
Здравствуйте, Amigo111, Вы писали:

A>Может знаете куда смотреть?


Надо запускать профайлер (http://www.eclipse.org/tptp/), возможно время тратится на парсинг и преобразование HQL в SQL. Но скорее всего основное время тратится на парсинг результата и создание нужных объектов.
Исследователь бытия и по совместительству Java-developer http://intr13.ru/
Re: скорость выборки в hibernate в избранное  новое    модер. 
От: Andrei N.Sobchuckwww.smalltalk.ru
Дата: 19.03.10 06:44
Здравствуйте, Amigo111, Вы писали:

A>952 объекта — 15 секунд

A>12 тыс. объектов — 160 секунд
A>это вообще нормально для хибернейта?

Абсолютно нормально
http://rsdn.ru/forum/java/2788819.aspx
Автор: Andrei N.Sobchuck
Дата: 08.01.08


A>пробую выполнять формируемые хибернейтом sql-запросы в клиенте к бд..моментально выполняются..


И это ты еще до скорости работы с хиб-прокси не дошел http://rsdn.ru/forum/java/2802706.1.aspx
Автор: Andrei N.Sobchuck
Дата: 18.01.08


A>Может знаете куда смотреть?


Сюда: http://www.rsdn.ru/forum/java/3676473.aspx
Автор: Cyberax
Дата: 21.01.10

Если кратко или выкинь хибернейт или собери волю в кулак и терпи.
И еще, если объекты вытягивать не через HQL, а через native-sql, то работает мапинг радикально быстрее (меньше оверхед). Если через HQL вытягивать не объекты, а примитивные поля, то оверхед от хиба минимальный (а в качестве плюсов остаются и запросы по объектной модели и крос-диалектные запросы).
Я ненавижу Hibernate!