Функциональные индексы

  • Функциональные индексы основаны на выражениях.

  • Выражение индекса создается из столбцов таблицы, констант, функций SQL и определяемых пользователем функций.

2-29-3259933

Функциональные индексы, определяемые с помощью ключевых слов UPPER(column_name) или LOWER(column_name), позволяют выполнять поиск без учета регистра знаков. Например, рассмотрим следующий индекс:

CREATE INDEX upper_last_name_idx ON emp2 (UPPER(last_name));

Это облегчает обработку запросов, например таких:

SELECT * FROM emp2 WHERE UPPER(last_name) = ‘KING‘;

Сервер Oracle использует индекс, только когда в запросе применяется эта конкретная функция. Например, в следующей инструкции возможно использование индекса, но без предложения WHERE сервер Oracle скорее всего будет выполнять полный просмотр таблицы:

     SELECT * FROM employees WHERE UPPER (last_name) IS NOT NULL

ORDER BY UPPER (last_name);

Примечание. Для использования функционального индекса параметр инициализации QUERY_REWRITE_ENABLED должен быть TRUE (истина).

Сервер Oracle обрабатывает индексы со столбцами, помеченными DESC, как функциональные индексы. Столбцы, помеченные DESC, сортируются в порядке убывания.

Далее: Сведения о синонимах

Похожие записи