Чтобы иметь возможность удалять индексы, индекс должен находиться в вашей схеме, или если он находить в другой схеме, то пользователю необходима системная привилегия – DROP ANY INDEX.
Основные причины удаления индекса:
- Индекс больше не требуется
- Приложение не использует индекс при запросе данных
- Индекс стал недействительным и требуется его удалить перед перестроением
- Индекс сильно фрагментирован, и перед перестройкой его необходимо удалить
- Индекс не обеспечивает ожидаемого повышения производительности при запросах к связанной с ним таблице. Например, таблица маленькая или в ней много строк, но мало элементов поиска
После удаления индекса все экстенты его сегмента возвращаются в табличное пространство и становятся доступными для использования другими объектами.
В зависимости от способа создания индекса, создан ли он явно оператором CREATE INDEX, или неявно при определении ограничений целостности, зависит и способ его удаления.
Если индекс создан через CREATE INDEX, его можно удалить, используя команду DROP INDEX, как показано в примере:
Для удаления индекса связанного с ограничением целостности необходимо удалить само ограничение или отключить его.
Нельзя удалить индексы, связанные с ограничением целостности – UNIQUE или PRIMARY KEY.
Основные причины удаления индекса:
- Индекс больше не требуется
- Приложение не использует индекс при запросе данных
- Индекс стал недействительным и требуется его удалить перед перестроением
- Индекс сильно фрагментирован, и перед перестройкой его необходимо удалить
- Индекс не обеспечивает ожидаемого повышения производительности при запросах к связанной с ним таблице. Например, таблица маленькая или в ней много строк, но мало элементов поиска
После удаления индекса все экстенты его сегмента возвращаются в табличное пространство и становятся доступными для использования другими объектами.
В зависимости от способа создания индекса, создан ли он явно оператором CREATE INDEX, или неявно при определении ограничений целостности, зависит и способ его удаления.
Если индекс создан через CREATE INDEX, его можно удалить, используя команду DROP INDEX, как показано в примере:
DROP INDEX EVENT_NO;
Для удаления индекса связанного с ограничением целостности необходимо удалить само ограничение или отключить его.
Нельзя удалить индексы, связанные с ограничением целостности – UNIQUE или PRIMARY KEY.