Функциональные индексы в SQL Server
Я пытаюсь понять, существуют ли функциональные индексы, подобные тем, которые существуют в Oracle или PostgreSQL, в SQL Server
В PostgreSQL я могу создать индекс на основе функции, используя следующий синтаксис:
CREATE INDEX sample ON "TestDB" (("expression1" || ' ' || "expression2"));
Я нашел статью где я нашел в SQL Server что-то, называемое индексом для вычисленных столбцов. Является ли это индексом на основе функций, как в Oracle/PostgreSQL? Может ли кто-нибудь предоставить мне образец запроса для создания/просмотра такого индекса?
Ответы
Ответ 1
Я еще немного исследовал на основе комментария Damien и нашел ответ, который очень близок к совпадению индексов на основе Oracle/PostgreSQL.
У меня есть таблица с именем PARCELS
, где я создал новый столбец COMPUTEDPARCELS
, используя оператор alter, как указано ниже:
ALTER TABLE [PARCELS] ADD COMPUTEDPARCELS AS CONVERT(CHAR(8), [MAPNO], 112);
И затем создайте индекс в вычисленном столбце:
CREATE INDEX function_index ON [PARCELS](COMPUTEDPARCELS);
Конечно, пример довольно прост, но ведет себя как индекс, основанный на функции.