Прежде всего убедитесь, что база данных Oracle обновила статистику!Если вам повезло, статистика устарела, и существующий запрос неожиданно выберет лучший план при обновлении.
Если это не удастся, если вам разрешено изменять код, вы можете использовать собственный запрос с SQL, который выпроверено в жабе.Это хорошо, так как вы знаете, что вы получите проверенный SQL, и вы не ограничены HQL.
Если вам хотя бы разрешено изменять HQL (это также код в моей книге), вы можетеДобавьте подсказки и проинструктируйте Oracle использовать нужные вам индексы.В общем, я не люблю подсказки, но у них есть свои места.Возможно, это один из них.
Наконец, если вы действительно не можете прикоснуться к приложению, вы можете попытаться использовать профиль SQL в Oracle для реализации желаемого плана. Ручное создание профиля SQL объясняет, как создать его вручную, если Enterprise Manager не может выполнить то, что вы хотите.Независимо от того, что вам нужно обсудить с вашим администратором базы данных.Требуется Enterprise Edition плюс «Tuning Pack».