Функция фильтра индекса SQL Server 2005 - PullRequest
2 голосов
/ 13 октября 2009

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

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

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

Ответы [ 2 ]

9 голосов
/ 13 октября 2009
CREATE INDEX ix_mytable_mycolumn ON mytable(mycolumn) WHERE mycolumn IS NOT NULL

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

С Документы :

WHERE <filter_predicate>

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

7 голосов
/ 13 октября 2009

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

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

Или просто выполните поиск в Google по запросу "sql server фильтрованные индексы".

...