HIbernate querydsl选择查询需要花费太多时间

时间:2016-04-02 10:41:04

标签: mysql hibernate querydsl

我有一个由QueryDSL根据UI的用户输入创建的动态查询。数据库表有大约400万条记录。实体是一个没有关联或连接的简单实体。它包含大约56个属性。

代码:

@Inject
QEntityRepository qEntityRepository;
.
.
.
BooleanBuilder builder = new BooleanBuilder();
builder.and(qEntity.firstProperty.containsIgnoreCase(firstProperty));
and so on......

qEntityRepository.findAll(builder, new PageRequest(pageable.getPageNumber(), Integer.valueOf(itemPerPage),sort));

另请注意,如上所示,我正在搜索“LIKE”时花费更多时间。但我必须根据业务需求搜索LIKE。

根据日志创建SQL查询后,它就被挂起了。我正在使用Ehcache和查询缓存,但没有任何改进。我正在使用HikariCP进行池管理。 DB Table也使用单个索引编制索引,用户可以在UI上放置所有4个参数。

任何建议都将受到赞赏。

0 个答案:

没有答案