Si j'ai une table vide avec un index et que je fais un bcp, SQL Server (en interne) drop/disable l'index, charger les données, puis réappliquer/activer/construire l'index?Lorsque SQL Server bcps dans une table vide avec un index, que fait-il en interne?
Répondre
Non, les index sont conservés tout au long de l'opération. En fait, Microsoft dit que vous pouvez améliorer les performances bcp en utilisant l'indice -h ORDER
pour trier les données en fonction de votre index clusterisé. Voir le bcp Utility documentation pour plus de détails. Toutefois, comme indiqué here, pour le plus rapide possible l'importation, vous devriez prendre les mesures suivantes:
· Le "select into/bulkcopy" option de base de données doit être réglé sur "true". La table cible ne doit pas avoir des index. La table cible ne doit pas être publiée pour la réplication. · Utilisez le TABLOCK pour verrouiller la table cible .
Non, mais il fera de son mieux pour le rendre aussi vite que possible. Vous pouvez aussi aider un peu en suivant quelques règles de base (voir http://msdn.microsoft.com/en-us/library/ms177445.aspx).
+1 pour le lien qui contient beaucoup d'informations utiles –