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

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

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

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

Функциональные индексы, определяемые с помощью ключевых слов 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, сортируются в порядке убывания.

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

Статьи по теме
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)