диапазон дат в предложении где индексного представления - PullRequest
1 голос
/ 16 августа 2010

У меня есть индексное представление, к которому я запускаю запрос с

WHERE GETDATE() BETWEEN start_date AND end_date

в предложении WHERE.

Я подозреваю, что ответ на мой вопрос, вероятно, будет отрицательным, но возможно ли вставить это в представление индекса или сделать что-то умное для достижения того же эффекта?беспокойство заключается в том, что индексное представление, используемое из GETDATE(), будет тем, что GETDATE() возвращает при создании индексного представления, а это не то, что я хочу.Я всегда хочу, чтобы это были текущие дата и время.Также я использую SQL Server 2008.

1 Ответ

1 голос
/ 16 августа 2010

Вы не сможете сделать это в индексированном представлении.

Подумайте, как SQL Server должен был бы это реализовать. Каждые 3 мс (или, тем не менее, часто может изменяться значение GETDATE ()), SQL Server придется пересматривать, нужно ли добавлять какие-либо новые строки в представление или нужно ли удалять какие-либо существующие строки.

Сравните это с обычными примерами и ограничениями использования индексированных представлений, где, как мы надеемся, очевидно, что SQL-сервер может принимать решения о включении / исключении во время соответствующих операторов INSERT / UPDATE для базовых таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...