Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Leistung von bcp/BULK INSERT im Vergleich zu Tabellenwertparametern

Ich habe noch keine wirkliche Erfahrung mit TVP, aber es gibt in MSDN hier .

Sie sagen, dass BULK INSERT höhere Startkosten hat, aber danach schneller ist. In einem Remote-Client-Szenario ziehen sie die Grenze bei etwa 1000 Zeilen (für "einfache" Serverlogik). Nach ihrer Beschreibung zu urteilen, würde ich sagen, dass Sie mit der Verwendung von TVPs einverstanden sein sollten. Der Leistungseinbruch – falls vorhanden – ist wahrscheinlich vernachlässigbar und die architektonischen Vorteile scheinen sehr gut zu sein.

Bearbeiten:Nebenbei bemerkt, Sie können die serverlokale Datei vermeiden und trotzdem Massenkopien verwenden, indem Sie das SqlBulkCopy-Objekt verwenden. Füllen Sie einfach eine DataTable und füttern Sie sie in die "WriteToServer"-Methode einer SqlBulkCopy-Instanz. Einfach zu bedienen und sehr schnell.