Question

On m'a dit qu'il ya une nouvelle fonctionnalité dans SQL Server 2005 appelés filtres d'index.

Ce que je veux faire est d'ajouter un index à une colonne et ont l'indice ignorer les valeurs nulles.

Je ne peux pas trouver de bonnes informations sur cette fonction (peut-être ma source est faux). Quelqu'un peut-il fournir des informations supplémentaires sur cette fonction?

Était-ce utile?

La solution

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

Cela ne fonctionnera que dans SQL Server 2008, cependant.

De les docs :

WHERE <filter_predicate>
     
    

crée un index filtré en spécifiant les lignes à inclure dans l'index. L'index filtré doit être un index non clusterisé sur une table. Filtrée pour les statistiques crée les lignes de données dans l'index filtré.

  

Autres conseils

Je pense que vous parlez index filtrés, qui ont été introduits dans SQL Server 2008, et non 2005.

Pour plus d'informations, consultez cet article: http: // www.sql-server-performance.com/articles/dba/Filtered_Indexes_in_SQL_Server_2008_p1.aspx

Ou tout simplement faire une recherche google pour "serveur sql index filtrés".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top