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

问题描述:

我目前正在使用mysql作为数据库使用queryDsl,jpa和hibernate的项目。其中一个生成的查询需要625秒才能执行。由于我没有*更改表本身的索引,但我可以对实际查询使用强制索引,这会在测试期间将查询时间减少到0.62秒,因此我如何在QueryDSL中执行此操作?如何在QueryDSL中使用强制索引?

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

我建议在这种情况下使用SQL。您可以使用SQL和Querydsl JPA,使用JPASQLQueryHibernateSQLQuery