2010-04-29 5 views
0

J'ai une grande table composée de plus de 60 millions d'enregistrements et j'aimerais ajouter 2 nouvelles colonnes à des fins de migration de données. Il y a des index sur la table et certains d'entre eux sont grands. Donc, en ajoutant les 2 nouvelles colonnes à la table, est-ce que je courrai le risque de ralentir la base de données tout en essayant de les ajouter et peut-être de faire une pause? Ou cela va-t-il marcher?Ajout d'une nouvelle colonne à la table qui contient des données en direct

Je sais que si je tente de réorganiser les colonnes SQL Server va me demander de laisser tomber et recréer la table, donc je ne veux pas vraiment cela. Est-ce quelque chose que tout le monde est confronté?

Répondre

1

Nous avons eu le même problème avec les changements de la colonne et l'index sur les grandes tables.

Je voudrais simplement ajouter les colonnes à l'aide ALTER TABLE. L'ordre des colonnes, bien que gentil, n'est pas pertinent.

Si les colonnes sont NULLABLE les temps est raisonnable. Si vous voulez ajouter une valeur par défaut et les rendre NOT NULL, alors c'est plus de travail évidemment. Cependant, je considérerais ajouter comme NOT NULL, puis mettre à une valeur, puis passer à NOT NULL pour faire les 3 étapes que vous pouvez faire à des moments différents. Nous faisons cela pour réduire la fenêtre de temps dont nous avons besoin, même si l'ensemble des contes de processus plus

+0

Cest grand: o) Ces colonnes sont purement pour la migration des données, serait-il préférable de les enlever une fois que nous aurons fini avec eux? –

+0

@Ardman: oui ... – gbn

Questions connexes