Insertion efficace de plusieurs données dans Go
Dans les opérations de base de données, il est souvent avantageux d'insérer plusieurs lignes de données simultanément pour des raisons d'efficacité. Go propose plusieurs méthodes pour y parvenir.
Une approche consiste à utiliser la fonction db.Prepare pour créer une instruction préparée. En utilisant des instructions préparées, vous pouvez éviter l'injection SQL et améliorer les performances. Pour insérer plusieurs lignes en une seule exécution à l'aide d'une instruction préparée, suivez ces étapes :
sqlStr := "INSERT INTO test(n1, n2, n3) VALUES (?, ?, ?)"
data := []map[string]string{ {"v1":"1", "v2":"1", "v3":"1"}, {"v1":"2", "v2":"2", "v3":"2"}, {"v1":"3", "v2":"3", "v3":"3"}, }
vals := []interface{}{} for _, row := range data { vals = append(vals, row["v1"], row["v2"], row["v3"]) }
//trim the last , sqlStr = sqlStr[0:len(sqlStr)-1]
stmt, _ := db.Prepare(sqlStr)
res, _ := stmt.Exec(vals...)
En utilisant cette approche, vous pouvez insérer efficacement plusieurs lignes de données dans une base de données tout en garantissant la sécurité et en réduisant le nombre d'exécutions de la base 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!