目前我正在使用 Java 8 开发 Spring/Hibernate 项目。
我现在必须从本地 MySQL 数据库查询结果。
我想出了两种方法:
Jinq 使用 Java 8 流:
customers.where( c -> c.getCountry().equals("Belgium") );
Hibernate 查询 (HQL):
Query query = session.createQuery("from Customers where Country = 'Belgium' "); List list = query.list();
使用时间戳,我能够测试执行时间(Jinq 的查询时间比 HQL 少)。
但就性能而言,Jinq 是否最适合这里的场景?是否有另一种更优化的查询方式?最终,该项目将每 10 分钟查询 300,000 到 1,000,000 个结果。
谢谢。
最佳答案
现在,如果您只是对每个查询进行全表扫描,那么使用哪一个并不重要。
同时,如果您对纯粹的性能感兴趣,您应该只使用原始查询。
就我个人而言,我有一个项目的规模可能与您的类似,而我的 JINQ 总是需要更短的时间。因此,只要使用您的 JINQ 解决方案就足够了。
如果有更多详细信息,我可以提供额外的帮助。
关于java - Java 8 中查询结果数据库的最优化方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144922/