1
我有一個在JBoss 6.1(Hibernate 3.6)中運行正常的Query。這是一個簡單的兩個表連接,返回955條記錄。當我在JBoss 7.1.1中部署相同的.war文件時,性能顯着下降(至少一個數量級)。下面是該查詢:什麼是在JBoss 7.1.1(Hibernate 4.x)中殺死JPA查詢性能?
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;
我一直無法判斷哪些Hibernate的版本在JBoss中7.1.1捆綁,所以我不知道如何提交錯誤針對其優化版本。
有沒有其他人看到這種性能從Hibernate 3.6移到4.x?任何想法是什麼造成的?
我假設在兩臺服務器上生成相同的查詢?如果發送了相同的SQL查詢,則結果必須位於較高級別的某處。錯誤地配置了'DataSource' /缺少緩衝或不緩存?或許N + 1問題發生了?你確定沒有額外的流量發送到數據庫?你有沒有嘗試分析? –
時間花在query.getResultList()上。我從JBoss 7.1(它有性能問題)中取出Hibernate生成的查詢,並直接針對同一個數據庫運行它,並且該查詢立即返回955結果。這不是生成的查詢,而是JBoss 7/Hibernate 4.x在結果集中執行的操作。 –