我最近从本地服务器迁移了一个将Hibernate用于AWS的项目。发生这种情况时,查询从1.3秒变为18秒。我确信这是因为每次调用都需要更长的时间来访问服务器,这会增加并大大增加运行时间。
我对如何解决这个问题的思考是添加分页和并行化,这样当Hibernate进行查询以获取所有数据时,我有另一个线程只读取前n个条目并将它们返回到页面。但是,我在网上看到的有关此内容的所有内容都表明,分页仍可通过制作整个查询,然后将所有内容放入包含query.setFirstResults(int)
和query.setMaxResults(int)
的列表中。
根据此示例摘自https://www.tutorialspoint.com/hibernate/hibernate_query_language.htm
String hql = "FROM Employee";
Query query = session.createQuery(hql);
query.setFirstResult(1);
query.setMaxResults(10);
List results = query.list();
那么,这种方法可行吗?
非常感谢任何和所有帮助。提前谢谢。