Beim Einfügen großer Datenmengen in eine SQL Server-Datenbank ist die Optimierung des Einfügungsprozesses von entscheidender Bedeutung. In diesem Artikel wird umfassend die beste Methode zum effizienten Einfügen von 2 Millionen Datenzeilen vorgestellt.
Die SqlBulkCopy-Klasse ist ideal für Masseneinfügungen. Es überträgt Daten schnell von .NET DataTable oder IEnumerable
Um SqlBulkCopy effektiv zu nutzen, befolgen Sie diese Schritte:
Das Folgende ist ein C#-Beispiel:
<code class="language-csharp">using (SqlConnection connection = new SqlConnection(connString)) { SqlBulkCopy bulkCopy = new SqlBulkCopy(connection, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers, null); bulkCopy.DestinationTableName = tableName; connection.Open(); bulkCopy.WriteToServer(dataTable); connection.Close(); }</code>
Wenn der Datensatz in einer Textdatei gespeichert ist, sollten Sie erwägen, ihn in einen Datensatz einzulesen und ihn mithilfe der OpenXML-Funktionalität in XML zu konvertieren. Dieses XML kann dann für Masseneinfügungen an die Datenbank übergeben werden. Allerdings kann dieser Ansatz insbesondere bei großen Datensätzen erhebliche Speicherressourcen erfordern.
Bitte beachten Sie, dass das Laden und Einfügen von 2 Millionen Datenzeilen den Speicher Ihres Systems belasten kann. Erwägen Sie bei Bedarf die Verwendung eines Servers mit ausreichender Speicherkapazität oder prüfen Sie andere Lösungen wie Datenstreaming oder inkrementelle Einfügungen.
Das obige ist der detaillierte Inhalt vonWie kann ich 2 Millionen Zeilen effizient in SQL Server einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!