J'utilise le constructeur JPQL dans mon code. Cela implique des résultats importants, 5024 données récupérées et des objets créés lors de l'exécution de cette requête. Il faut environ 2 minutes pour terminer son exécution. Plusieurs tables sont impliquées pour exécuter cette requête. Je ne pouvais pas utiliser le cache car les données de la base de données seront mises à jour quotidiennement. Est-il possible d'optimiser la vitesse d'exécution?JPQL L'exécution du constructeur prend beaucoup de temps
Ma formation de requête SQL est comme ça,
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;
regardé le SQL généré qui est exécuté? et où le temps est-il passé? –