Hibernate查询比数据库本地查询慢得多

3

我有一个MySql数据库和一个简单的查询,我注意到在Eclipse中通过hibernate查询编辑器执行查询和直接在mysql中执行相同的查询时,查询时间存在差异,表中有60524条记录。

hibernate查询如下:

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
我猜测读取数据所需的时间是相同的,将其显示在mysql提示中几乎不需要时间,但从mysql复制60k行到Eclipse需要更长的时间,可能是额外3.3秒的原因。使用mysql分析工具可以深入挖掘时间消耗在哪些方面,http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接