Comment améliorer les performances d'insertion en masse dans MS SQL Server à l'aide de pyodbc
Vous avez mentionné avoir rencontré des vitesses d'insertion lentes lorsque vous tentiez d'insérer plus de 1 300 000 lignes dans une base de données MS SQL Server utilisant pyodbc. Bien que l'itération sur des lignes individuelles pour l'insertion puisse contribuer au problème de performances, l'utilisation de techniques d'insertion en masse est une solution viable. La commande INSERT permet un chargement efficace des données en masse, à condition que le fichier de données se trouve sur la même machine que l'instance SQL Server ou dans un emplacement réseau SMB/CIFS accessible. Si cette condition est remplie, les étapes suivantes peuvent être suivies :
Créez une instruction d'insertion en masse et spécifiez la table de destination et les colonnes de données.
Utilisez pyodbc.load_bulk() pour charger les données d'un fichier ou d'un curseur dans la base de données.Activez fast_executemany en le définissant sur True sur l'objet curseur.
Utilisez Cursor#executemany() pour insérer plusieurs rangées à la fois. Cette technique peut réduire considérablement le temps d'exécution par rapport à l'itération manuelle que vous utilisez actuellement.Les données pour l'insertion groupée doivent être structurées selon le schéma de la table cible.
Assurez-vous que l'utilisateur SQL Server dispose des autorisations nécessaires pour effectuer des insertions groupées.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!