Java Hibernate性能问题:查询执行非常慢

Java Hibernate性能问题:查询执行非常慢,java,sql,performance,hibernate,Java,Sql,Performance,Hibernate,下面的hibernate查询用于通过传入catId和inventoryId来获取ProductCatalog记录的列表 select prodcat from ProductCatalogue prodcat where prodcat.prodSec.prodId=:catId and prodcat.prodPlacedOrder.inventoryId=:inventoryId 表ProductCatalog和ProdPlacedOrder是包含超过300万条记录的表。inventory

下面的hibernate查询用于通过传入catId和inventoryId来获取ProductCatalog记录的列表

select prodcat from ProductCatalogue prodcat where prodcat.prodSec.prodId=:catId and prodcat.prodPlacedOrder.inventoryId=:inventoryId
表ProductCatalog和ProdPlacedOrder是包含超过300万条记录的表。inventoryId是prodOrder表中的一列,prodPlacedOrder扩展了prodOrder表

执行此查询需要大量时间,单个hibernate查询会引发许多复杂的sql查询


关于可能出现的问题以及如何修改该问题以加快查询执行速度的任何建议?

没有更多信息,很难说,但是如果不需要该表中的任何数据,请尝试将ProdPlacedOrder设置为延迟提取


同样是提到的Phatmanac-检查您的索引

您是否检查了底层SQL(即通过独立于hibernate运行它?)-表上有哪些索引?您如何确定查询是从许多复杂查询中发出的?是否是以下几行使用了结果将它们击落?@JoachimIsaksson来自show_sql日志。不,这是一个特殊的查询。从我所看到的,除了
prodcat
之外的所有东西都已经被延迟加载了。