Как создать индекс для вычисляемого столбца в SQL Server? - PullRequest
0 голосов
/ 13 июня 2019

У меня большой запрос SELECT, где в предложении WHERE у меня есть что-то вроде:

WHERE isnull(RCTL.day_id, '') = isnull(@Pday_id, isnull(RCTL.day_id, ''))

ISNULL () на RCTL.day_id вызывает огромные проблемы с производительностью. Я читал в Интернете, что мне нужно создать вычисляемый столбец в таблице для ISNULL (day_id, 0), а затем проиндексировать этот столбец.

Это правильный подход, и если да, то правильный ли?

 alter table dbo.tc_route_control add blank_day_id as (isnull(day_id, 0))

create nonclustered index ix_test1 on dbo.tc_route_control (blank_day_id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...