Les meilleures pratiques pour l'insertion, la mise à jour de grande quantité de données dans SQL Server 2008

Je suis en train de construire un système pour la mise à jour de grandes quantités de données à travers différents flux CSV. Normalement, j'aurais juste effectue une boucle pour chaque ligne dans l'alimentation, de faire une requête select pour vérifier si l'élément existe déjà et insérer/mettre à jour un élément en fonction de si il existe ou pas.

Je sens que cette méthode n'est pas très évolutif et peut marteau le serveur sur de plus grands flux. Ma solution est de faire une boucle par les articles comme d'habitude, mais les stocker dans la mémoire. Ensuite, pour chaque 100 articles d'effectuer une sélection sur ces 100 articles et d'obtenir une liste des éléments existants dans la base de données qui correspondent. Puis concaténer les insert/update ensemble et de les exécuter dans la base de données. Cela aurait pour effet de couper vers le bas sur les voyages à la base de données.

Est-ce suffisamment évolutive de la solution et il n'existe aucun exemple des tutoriels sur l'importation de gros se nourrit dans un environnement de production?

Grâce

OriginalL'auteur markvpc | 2010-02-26