Frage

Welcher Ansatz ist für SQL Server 2005 schneller und effizienter, wenn ich etwa 20 oder 30 Zeilen mit jeweils drei Spalten einfügen möchte?Die aufrufende Anwendung ist eine C # 4.0 .Net-Konsolenanwendung.

a) Übergeben Sie die Werte als XML an einen gespeicherten Prozess, analysieren Sie sie und führen Sie die Einfügung durch
ODER
b) Erstellen Sie einen SQL-Befehl mit INSERT...VALUES... SELECT() UNION ALL wie hier vorgeschlagen: SQL Server2005: Fügen Sie mehrere Zeilen mit einer einzigen Abfrage ein ?

Danke.

War es hilfreich?

Lösung

Hast du sie ausprobiert?Um ehrlich zu sein, für 20 oder 30 Reihen wäre es wirklich schwierig, einen Unterschied zu finden.In größerem Maßstab würde ich erwarten, dass die Kosten für zusätzliche Daten und das Parsen von XML zum Extrahieren von Daten die Wahl weniger effizient machen würden.In SQL Server 2008 gibt es einen effizienteren VALUES()-Konstruktor, für den kein UNION ALL erforderlich ist, und es gibt auch einen neuen Ansatz, der als tabellenwertige Parameter bezeichnet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top