Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Performances de bcp/BULK INSERT par rapport aux paramètres de table

Je n'ai pas encore vraiment d'expérience avec TVP, mais il existe un bon tableau de comparaison des performances par rapport à BULK INSERT dans MSDN ici .

Ils disent que BULK INSERT a un coût de démarrage plus élevé, mais est plus rapide par la suite. Dans un scénario de client distant, ils tracent la ligne à environ 1000 lignes (pour une logique de serveur "simple"). À en juger par leur description, je dirais que vous devriez être d'accord avec l'utilisation de TVP. L'impact sur les performances - le cas échéant - est probablement négligeable et les avantages architecturaux semblent très bons.

Modifier :sur une note latérale, vous pouvez éviter le fichier local du serveur et toujours utiliser la copie en bloc en utilisant l'objet SqlBulkCopy. Remplissez simplement un DataTable et alimentez-le dans la méthode "WriteToServer" d'une instance SqlBulkCopy. Facile à utiliser, et très rapide.