hibernate - 我如何在 QueryDSL 中使用强制索引?

标签 hibernate querydsl jpa-2.1

我目前正在研究使用 queryDsl、jpa 和 hibernate 以及 mysql 作为数据库的项目。其中一个生成的查询执行时间为 625 秒。由于我没有自由更改表本身的索引,但我可以在实际查询中使用强制索引,这在测试期间将查询时间降低到 0.62 秒,我如何在 QueryDSL 中执行此操作?

最佳答案

您不能在 Querydsl JPA 中直接使用强制索引,因为不支持此类语法。可以自定义 Hibernate SQL 渲染,但这不是微不足道的 http://www.znetdevelopment.com/blogs/2009/10/07/using-use-index-with-hibernatemysql/

在这种情况下,我建议使用 SQL。您可以使用 JPASQLQuery 将 SQL 与 Querydsl JPA 一起使用和 HibernateSQLQuery .

关于hibernate - 我如何在 QueryDSL 中使用强制索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367797/

相关文章:

java - JPA - 具有 OR 条件的 OneToMany

java - 连接和 session 关闭

SQL为每个类别获取1条随机记录

java - QueryDSL-maven-您需要使用 JDK 运行构建或在类路径上有 tools.jar

java - 应用程序在 Liberty 17.0.0.4 上停止运行(在 17.0.0.3 上运行)

java - 如何在 Spring Boot Java 中编写一个函数来处理 JPA 存储库中的自定义查询?

hibernate - 调试 Hibernate session /事务错误的好主意?

java - 如何使用querydsl或spring data jpa规范对分层实体执行查询?

oracle - Jpa - Hibernate ManyToMany 在连接表中进行多次插入

java - 在带有 Spring 3.2 的 Hibernate 4 上使用 sessionfactory 时出现空指针错误