Индекс выражения - Expression index
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
An индекс выражения, также известный как индекс на основе функций, это база данных индекс который основан на общем выражении, а не на одном или нескольких столбцы. Это позволяет определять индексы для общих условий запроса, которые зависят от данных в таблице, но фактически не хранятся в этой таблице.
Обычно индекс выражения используется для поддержки без учета регистра поиск или ограничения. Например, если веб-сайт хочет сделать имена пользователей нечувствительными к регистру, но при этом сохранить регистр, который был изначально введен пользователем, можно создать индекс для представления имени пользователя в нижнем регистре:
CREATE INDEX users__last_name_lower ON users (lower (last_name));
Это создаст уникальный индекс для "lower (last_name)". Любые запросы, выполняющие поиск по "lower (last_name)", могут затем использовать этот индекс:
ВЫБЕРИТЕ user_id ИЗ пользователей ГДЕ lower (last_name) = lower ('Smith');
Поддержка базы данных
Основные базы данных, поддерживающие индексы выражений, включают: DB2 (начиная с версии 10.5[1]), База данных Oracle (начиная с выпуска 8i.[2]) и PostgreSQL (начиная с версии 7 как минимум[3]).
Рекомендации
- ^ «Что нового в DB2 10.5 для Linux, UNIX и Windows». Получено 2015-08-26.
- ^ "Индексы на основе функций Oracle". Получено 2015-08-26.
- ^ «PostgreSQL - Руководство пользователя - Глава 7. Индексы и ключи». Получено 2015-08-26.