Hibernate: very slow query

  Kiến thức lập trình

I have a ‘for’ loop that gets some data from the database for each element in the List. And sometimes the query executes tolerably fast (0.015s), but sometimes it takes about 6 seconds, which makes me wait forever for the loop to finish (there can be several hundred elements).

‘Slow elements’ are different every time, and I don’t know why it even happens.

The query is very simple and executes fast in the MS SQL Server Management Studio.

Session session = HibernateUtilSQLMain.getSessionFactory().openSession();
    session.beginTransaction();

    List<?> list = new ArrayList<>();
    String hql = "SELECT f.directoryRefuse.nameEn, sum(f.value) " +
            "FROM ProductionSkladFull f " +
            "WHERE f.productionSklad.date >= :date1 AND f.productionSklad.date <= :date2 AND f.productionSklad.party.party = :party " +
            "GROUP BY f.directoryRefuse.nameEn ";

    Query query = session.createQuery(hql);
    query.setString("date1", date1);
    query.setString("date2", date2);
    query.setString("party", party);
    list = query.list();

    session.getTransaction().commit();
    session.close();

Would appreciate some help 🙂

LEAVE A COMMENT