Hibernate - включение и выключение использования индекса SQL - PullRequest
0 голосов
/ 23 января 2012

Как я могу явно указать Hibernate использовать или не использовать индекс SQL?

Также создает ли Hibernate индекс SQL, если он считает, что это будет эффективным использованием ресурсов?

1 Ответ

6 голосов
/ 23 января 2012
How can I explicitly tell Hibernate to use or not to use SQL index

Самый простой способ принудительно выполнить полное сканирование таблицы - удалить индекс.Зачем поддерживать индекс, который вы не хотите использовать в любом случае.

Hibernate - это инструмент ORM, это базовая база данных, которая решает, как выполнять запросы - использовать индекс или нет.Поэтому, если вы хотите сохранить индекс и считаете, что планировщик запросов выбирает индекс, когда это не нужно, то, возможно, вы могли бы изменить запрос sql так, чтобы он завершил полное сканирование таблицы, или использовать синтаксис sql для конкретной базы данныхSELECT FULL()... в Oracle, enable_indexscan(false) в Postgresql и т. Д. (Если такая вещь существует для вашей базы данных).

создает Hibernate индекс SQL, если обнаруживает, что это будет эффективным использованием ресурсов

Нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...