J'ai du mal à trouver une ressource définitive à ce sujet n'importe où, alors j'espère qu'un gourou pourra me donner une réponse ici.
J'ai un très grand tableau auquel nous avons dû ajouter une colonne. L'index cluster est assez fortement fragmenté, et je veux faire un ALTER INDEX REBUILD
pour le nettoyer.
Je fais aussi normalement un ALTER TABLE REBUILD
quand je change les colonnes car cela nettoie tous les pointeurs ou se sépare de cette opération.
Dois-je faire les deux puisque nous parlons d'un index clusterisé, qui est essentiellement la table?
Mon soupçon est que ALTER INDEX REBUILD
le cluster ne mettra pas à jour tout ce qui le ALTER TABLE
veut, mais je crains également que le ALTER TABLE
ne nettoie pas la fragmentation de l'index.
Réponses:
Si vous reconstruisez l'index clusterisé, il ne devrait pas être nécessaire de reconstruire la table. Si la table était un tas (n'avait pas d'index cluster), vous souhaiterez peut-être la reconstruire.
la source
ALTER TABLE REBUILD
car cela corrigera les pointeurs non résolus lors de la reconstruction de l'index. N'est-ce plus le cas?Reconstruire supprime et recrée l'index. Lorsque vous créez un index clusterisé, il réorganise les lignes d'une table en plus de créer le CIX (une table sans CIX est un segment).
la source