我在我的代碼中使用JPQL構造函數。它涉及很大的結果,5024數據檢索和執行此查詢時創建的對象。完成執行需要大約2分鐘的時間。有多個表涉及執行此查詢。因爲數據庫數據每天都會更新,所以我無法緩存。有什麼方法可以優化執行速度嗎?JPQL構造函數執行需要很長時間
我的SQL查詢的形成是這樣的,
String sql = "SELECT DISTINCT "
+ "new com.abc.dc.entity.market.LaptopData(vd.segment.id, vd.segment.segmentGroup, "
+ "vd.segment.segmentName, vd.segment.category, "
+ "vd.product.make, vd.product.model, vd.product.modelYear) "
+ "FROM LaptopData vd, Profile p "
+ "WHERE vd.profile.profileCode = :profileCode "
+ "AND vd.pk.profileId = p.id "
+ "Order By vd.segment.segmentGroup, vd.segment.segmentName, vd.product.make, vd.product.model,"
+ " vd.product.modelYear asc";
Query query = em.createQuery(sql);
query.setParameter("profileCode", profileCode);
@SuppressWarnings("unchecked")
List<LaptopData> results = query.getResultList();
em.clear();
return results;
看着執行的生成的SQL?和時間花在哪裏? –