hibernate查询比db上的本机查询慢得多

时间:2011-08-10 07:34:03

标签: mysql hibernate time

我有一个Mysql数据库是一个简单的查询,我注意到在通过Eclipse中的hibernate查询编辑器执行查询并在mysql中直接执行相同查询时查询时间有所不同,该表有60524个条目(行)< / p>

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 个答案:

答案 0 :(得分:5)

我的猜测是读取数据需要相同的时间,并且在mysql提示符中显示它几乎没有时间,但是从mysql到Eclipse的60k行需要花费更长的时间,并且需要额外的时间。 3.3秒。 whit mysql profiling你可以更深入地了解时间的变化,http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html