【发布时间】:2017-06-16 08:26:49
【问题描述】:
目前我有一个在 10-12 秒内获取 10000 条记录的实现。此查询的性能可以提高,如何提高?以下是我基于 QueryDSL 和 JPA 2 的代码 sn-p。
public List<EntryEntity> getEntries() {
QEntryEntity qEntryEntity = QEntryEntity.entryEntity;
return queryfactory.selectFrom(qEntryEntity).orderBy(qEntryEntity.name.asc()).fetch();
}
【问题讨论】:
-
是什么让您无法使用纯 SQL 执行此操作?
-
如果 orderBy(qEntryEntity.name.asc()) 排序是由java完成的,从本地机器数据库获取数据大约需要3分钟。
-
我的前辈有一个特殊要求,要求我在 QueryDSL 和 JPA 中执行此操作,而不使用任何本机查询。
-
好吧,那么一直在花费什么时间呢?您是否分析了您的查询?
-
在
name列上放置一个索引怎么样?
标签: java spring-data spring-data-jpa querydsl