В моих таблицах есть столбцы DeletedDate, допускающие значение NULL, и всякий раз, когда я пишу запросы к этим таблицам, я обычно проверяю, чтобы убедиться, что DeletedDate IS NULL
. Я думал, что если я создам индексированный, сохраняемый, вычисляемый столбец с именем IsDeleted, это может ускорить мои запросы, поскольку ему нужно будет проверять только одно битовое значение вместо того, чтобы индексировать серию даты.
[IsDeleted] AS (isnull(CONVERT([bit],case when [DeletedDate] IS NULL then (0) else (1) end),(0))) PERSISTED NOT NULL,
Однако я посмотрел на план выполнения, и оказалось, что он все еще смотрит на столбец DeletedDate
(думаю, я мог неправильно прочитать план).
Делает ли это покупку что-нибудь или есть другой способ ускорить его для запросов, которые заботятся только о том, является ли столбец нулевым или нет?