2010-09-13 5 views
3

Il y a plusieurs années (près de dix ans), je pensais que Index View ressemblait plus à une édition d'entreprise (SQL 2000), mais je me trompais et l'index était indistinctement en SQL 2000 support pour la vue matérialisée. Cependant, vous pouvez toujours créer une vue d'index et physiquement matérialiser cette vue dans toute l'édition de SQL 2000/2005 et la requête utilisera cet index sur une vue si vous spécifiez NOEXPAND query hint (qui n'est pas nécessaire dans l'entreprise/le développeur Editon)SQL 2008 R2 Standard - Prise en charge de l'index

Voici le livre blanc sur View Index (qui confirment ce que je disais plus tôt) http://msdn.microsoft.com/en-us/library/dd171921.aspx

Cependant, il me semble que le démarrage avec vue index SQL 2008/R2 est en effet une caractéristique de l'édition d'entreprise.

Je ne compare par fonction différente édition http://msdn.microsoft.com/en-us/library/cc645993.aspx

donc dans SQL 2008 R2 Standard Edition, vous êtes en mesure de créer la vue d'index, mais ressemble NOEXPAND indice ne fonctionnera pas si il est presque inutile ...

Est-il possible de créer une vue d'index et d'utiliser cet index (au lieu de l'index sur la table de base) dans SQL Server 2008 R2 (édition standard ou express) à l'aide de noexpand hint?

+0

Qu'est-ce qui vous fait dire que l'indice 'noexpand' ne fonctionnera pas? Je ne vois rien à ce sujet dans votre lien? –

+0

Martin, j'ai créé une vue en édition standard et n'utilise pas l'indicateur noexpand et l'index sur cette vue. En outre, pourquoi la comparaison de caractéristiques par édition ne mentionne pas le support d'Index View dans l'édition standard? – cshah

+2

[Cet article] (http://www.networkworld.com/community/blog/indexed-views-are-good-feature-which-edition?source=nww_rss) semble confirmer que 'NOEXPAND' ne fonctionne pas dans R2 La norme. –

Répondre

2

This other article on SQLServerCentral semble suggérer que oui, NOEXPAND continue à fonctionner parfaitement sur toutes les éditions de SQL Server de 2005 à 2012. Je vais citer:

« Alors NOEXPAND touche fonctionne toujours dans les éditions non-entreprise de SQL Server: Je pense qu'il y a eu une certaine confusion quant à ce que fait réellement cet indice: il oblige l'optimiseur de requêtes à s'appuyer sur la vue plutôt que sur la table sous-jacente pour l'optimisation.

Les sites que j'ai trouvés en ligne et déclarant que NOEXPAND ne fonctionne pas n'incluaient aucune méthodologie de test, donc Je ne peux pas dire pourquoi cela n'a pas fonctionné pour eux. Je peux dire que cela peut fonctionner dans des situations où l'optimiseur de requête décide que l'index est utile. "

Questions connexes