Определите, обращен ли индекс в OracleDB - PullRequest
1 голос
/ 28 января 2020

Я пытаюсь определить, есть ли способ в Oracle 11g, чтобы выяснить, не обращен ли индекс. Я просмотрел документацию для ALL_INDEXES*, однако не увидел в этой таблице ничего, что указывало бы на обратный индекс или нет.

Причина этого заключается в том, что мы перевернул индекс, чтобы исправить проблему с IO Wait в нашей производственной среде. Мы используем flyway для миграции схем для синхронизации c наших сред, и все сценарии должны быть идемпотентными. Однако я не могу найти способ определить, обращен ли рассматриваемый индекс не для того, чтобы условно перестроить его как обращенный.

Есть ли способ определить, находится ли индекс в Oracle БД переворачивается с использованием встроенных мета-таблиц / представлений?

* Дополнительная информация:

  • На самом деле у меня не будет доступа к таблице ALL_INDEXES, когда она будет запущена, только USER_INDEXES, поскольку это не будет выполняться с разрешениями администратора баз данных.
  • Указанный индекс является первичным ключом таблицы, если это имеет значение при запросе метаданных схемы

1 Ответ

2 голосов
/ 28 января 2020

Столбец ALL_INDEXES.INDEX_TYPE будет содержать тип индекса. Для обратного индекса это будет NORMAL/REV или FUNCTION-BASED NORMAL/REV.

Это будет то же самое для USER_INDEXES

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