2

SQL Server 2005 には、インデックス フィルターと呼ばれる新しい機能があるとのことでした。

私がしたいのは、列にインデックスを追加し、インデックスに null 値を無視させることです。

この機能に関する適切な情報が見つかりません (ソースが間違っている可能性があります)。誰でもこの機能に関する追加情報を提供できますか?

4

2 に答える 2

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

ただし、これは でのみ機能しSQL Server 2008ます。

ドキュメントから:

WHERE <filter_predicate>

インデックスに含める行を指定して、フィルター選択されたインデックスを作成します。フィルター選択されたインデックスは、テーブルの非クラスター化インデックスである必要があります。フィルター選択されたインデックスのデータ行のフィルター処理された統計を作成します。

于 2009-10-13T13:49:34.530 に答える
7

2005年ではなくSQL Server 2008で導入されたフィルター選択されたインデックスについて話していると思います.

詳細については、次の記事をご覧ください: http://www.sql-server-performance.com/articles/dba/Filtered_Indexes_in_SQL_Server_2008_p1.aspx

または、「SQL サーバーのフィルター処理されたインデックス」を Google 検索してください。

于 2009-10-13T13:44:14.010 に答える