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