Améliorez efficacement la vitesse d'insertion des données SQL Server : insérez 2 millions de lignes de données à la fois
Insérer de grandes quantités de données dans une base de données SQL Server, en particulier lorsqu'il s'agit de millions de lignes de données, peut être un défi. Cet article explore plusieurs des techniques les meilleures et les plus rapides pour y parvenir :
1. Utilisez SqlBulkCopy pour le chargement groupé :
SqlBulkCopy est un outil puissant conçu pour importer rapidement de grandes quantités de données dans SQL Server. Il contourne le processus traditionnel d'insertion ligne par ligne et effectue à la place des opérations par lots.
Méthode de mise en œuvre :
<code class="language-csharp">using (SqlConnection connection = new SqlConnection(connString)) { SqlBulkCopy bulkCopy = new SqlBulkCopy(connection, ..., null); bulkCopy.DestinationTableName = this.tableName; connection.Open(); bulkCopy.WriteToServer(dataTable); connection.Close(); }</code>
2. Insertion par lots en utilisant XML :
Une autre approche consiste à convertir les données en XML, puis à utiliser les fonctions OpenXML pour les charger dans SQL Server. Cette approche permet des insertions groupées tout en préservant l’intégrité des données.
Méthode de mise en œuvre :
<code class="language-sql">INSERT INTO TableName(XMLData) VALUES (CAST(@xmlData AS XML))</code>
Notes de mémoire :
Il est important de noter que les deux méthodes nécessitent que l'intégralité de l'ensemble de données soit chargée en mémoire pendant le processus d'insertion. Par conséquent, tenez compte de la mémoire disponible et de la taille de votre ensemble de données lorsque vous choisissez une technologie appropriée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!