Вопрос

Мне сказали, что в SQL Server 2005 появилась новая функция, называемая индексными фильтрами.

Я хочу добавить индекс в столбец и заставить его игнорировать нулевые значения.

Я не могу найти хорошую информацию об этой функции (возможно, мой источник неправильный).Может ли кто-нибудь предоставить дополнительную информацию об этой функции?

Это было полезно?

Решение

CREATE INDEX ix_mytable_mycolumn ON mytable(mycolumn) WHERE mycolumn IS NOT NULL

Это будет работать только в SQL Server 2008, хотя.

От документы:

WHERE <filter_predicate>

Создает отфильтрованный индекс, указывая, какие строки включать в индекс.Отфильтрованный индекс должен быть некластеризованным индексом таблицы.Создает отфильтрованную статистику для строк данных в отфильтрованном индексе.

Другие советы

Я думаю, вы говорите о фильтрованных индексах, которые были представлены в SQL Server 2008, а не в 2005 году.

Для получения информации ознакомьтесь с этой статьей: http://www.sql-server- Performance.com/articles/dba/Filtered_Indexes_in_SQL_Server_2008_p1.aspx

Или просто выполните поиск в Google по запросу «индексы, отфильтрованные сервером SQL».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top