Hibernate запрос намного медленнее, чем собственный запрос на БД - PullRequest
3 голосов
/ 10 августа 2011

У меня есть Mysql db и простой запрос, и я заметил разницу во времени запроса при выполнении запроса через редактор запросов Hibernate в Eclipse и выполнении того же запроса непосредственно в MySQL, в таблице 60524 записи (строки) 1001 *

Запрос гибернации:

from AppLog a

и занимает 3,4 секунды

Hibernate создает родной SQL, как это

select
  applog0_.ID_APP_LOG as ID1_706_,
  applog0_.ID_APP_MODULE_EVENT as ID5_706_,
  applog0_.DATE_INSERT as DATE2_706_,
  applog0_.DESCRIPTION as DESCRIPT3_706_,
  applog0_.ID_PERSON as ID6_706_,
  applog0_.VERSION as VERSION706_ 
 from
  APP_LOG applog0_

когда я запускаю это непосредственно на mysql, это занимает 139 миллисекунд

Разница огромна ... в чем же подвох?

1 Ответ

5 голосов
/ 10 августа 2011

Я полагаю, что чтение данных занимает одинаковое количество времени, а отображение в приглашении mysql практически не занимает времени, но копирование строк из 60 000 строк из mysql в Eclipse занимает больше времени и, по-видимому, отвечает за дополнительные3,3 сек.с помощью mysql-профилирования вы можете немного глубже понять, куда идут времена, http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...