Database/SQL Batching SQL Statements
Question :
En Java, batching SQL instructions avec le package base de données/sql est simple. Comment pouvez-vous obtenir des fonctionnalités similaires dans Go ?
: Réponse :
Le package base de données/sql dans Go vous permet de regrouper des instructions SQL à l'aide de la fonction db.Exec, qui prend un nombre variable d'arguments. Voici comment implémenter le traitement par lots dans Go :
Construisez l'instruction SQL :
Créez une chaîne contenant l'instruction SQL avec des espaces réservés pour le valeurs que vous souhaitez insérer. Par exemple :
stmt := "INSERT INTO my_table (field1, field2, field3) VALUES (?, ?, ?)"
Explosez les arguments :
Créez des tranches distinctes pour les valeurs que vous souhaitez insérer. Pour chaque ligne, ajoutez les valeurs à ces tranches.
valueStrings := make([]string, 0, len(unsavedRows)) valueArgs := make([]interface{}, 0, len(unsavedRows) * 3) for _, post := range unsavedRows { valueStrings = append(valueStrings, "(?, ?, ?)") valueArgs = append(valueArgs, post.Field1) valueArgs = append(valueArgs, post.Field2) valueArgs = append(valueArgs, post.Field3) }
Exécutez le lot :
Utilisez la fonction db.Exec pour exécuter l'instruction SQL par lots, en passant les tranches d'argument.
_, err := db.Exec(stmt, valueArgs...)
Ceci La méthode effectue l'opération de traitement par lots en un seul aller-retour sur le réseau, ce qui la rend efficace pour insérer de grandes quantités de donné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!