La création d'un index non cluster sur une table SQL Server 2005 empêche-t-elle les sélections?

Je voudrais créer un index sur une vue que j'ai, mais je dois m'assurer que datatables peuvent encore être lues pendant que l'index est créé. Je lisais un article qui suggérait que lorsque vous créez un index non cluster, datatables sont toujours lisibles si vous spécifiez l'option ONLINE = ON (exemple ci-dessous):

CREATE UNIQUE CLUSTERED INDEX CLUST_IDX_SQLTIPS ON SQLTips (tip) with (ONLINE=ON) 

Est-ce que je comprends bien? Y at-il des problèmes potentiels dont je devrais être conscient avant de créer des index sur une vue qui doit être lisible pendant que je crée mon index?

La création et la reconstruction d'index en ligne sont disponibles uniquement dans Enterprise Edition. Consultez la section Fonctionnement des index en ligne et Informations générales sur les opérations d'index en ligne .

Il y a quelques ressortingctions, les plus notables étant:

  • L'index cluster doit être créé / reconstruit hors ligne s'il contient des champs BLOB (image, ntext, text, varchar (max), nvarchar (max), varbinary (max) et xml).
  • L'index clusterisé initial d'une vue doit être créé hors connection.

Vous devez vous assurer que votre database dispose de suffisamment d'espace pour effectuer l'opération d'index en ligne, car elle nécessite environ 1,5 fois la taille de la table en plus de la taille actuelle. Lors de la création de l'index en ligne, la table existe deux fois dans la database, d'où l'espace supplémentaire nécessaire.

Comme votre cas se situe dans la catégorie exclue (index clusterisé initial sur une vue), vous n'avez pas besoin de vous soucier des index en ligne. Vous devez utiliser une opération d'index hors connection.

BTW vous devez également être conscient que les vues indexées sont sockets en count par l'optimiseur uniquement dans Enterprise Edition. Sur les éditions inférieures, il faut spécifier la clause NOEXPAND dans la vue pour tirer parti d'un index possible sur la vue.

Il y a plus d'informations sur les articles msdn sur CREATE INDEX et les opérations d'index en ligne qui ont beaucoup d'informations à ce sujet.

Il ne devrait pas y avoir de problèmes, si vous ne faites que SELECTs et UPDATEs. Pas si sûr au sujet des sauvegardes, peut-être mieux de l'essayer sur un système de test et de voir?