2015-03-31 3 views
4

В настоящее время я работаю над проектом, который использует queryDsl, jpa и hibernate с базой данных mysql. Один из сгенерированных запросов занял 625 секунд. Поскольку у меня нет возможности изменять индексы на самой таблице, но я могу использовать индекс силы для фактического запроса, который снижает время запроса до 0,62 секунды во время тестирования, как это сделать в QueryDSL?Как использовать индекс силы с QueryDSL?

ответ

0

Вы не можете использовать индекс силы непосредственно в Querydsl JPA, так как такой синтаксис не поддерживается. Можно настроить рендеринг Hibernate SQL, но он не является тривиальным http://www.znetdevelopment.com/blogs/2009/10/07/using-use-index-with-hibernatemysql/

Я бы рекомендовал использовать SQL в этом случае. Вы можете использовать SQL с Querydsl JPA, используя JPASQLQuery и HibernateSQLQuery.