我有一个在JBoss 6.1(Hibernate 3.6)中运行良好的Query。它是一个简单的两个表连接,返回955条记录。当我在JBoss 7.1.1中部署相同的.war文件时,性能会大幅下降(至少一个数量级)。这是查询:
SELECT c.uid, c.name, -1, c.file_Id, cs.error, cs.is_Error, c.parent_Uid, c.job_Id, c.description
FROM stage.Classification_Status cs, stage.Classification c
WHERE cs.is_Error = true AND cs.classification_Id = c.id AND c.job_Id = 3001;
我还没知道JBoss 7.1.1捆绑了哪个版本的Hibernate,所以我不知道哪个版本会提交bug。
有没有其他人看到这种性能从Hibernate 3.6变为4.x?是什么原因导致它?
答案 0 :(得分:0)
你记录的太多了吗?
因为这确实需要时间,所以如果你不记录,性能会更好。
我有一个只有一个日志调用的servlet,根据Firebug / Firefox,在1毫秒内响应,无需记录,2毫秒仅记录文件,3毫秒记录文件和控制台。当我记录955次时,和1,270毫秒!
那些记录的时间是许多尝试中最好的,但不是经常。另一方面,没有记录的1ms发生得更频繁。