Go での効率的な複数データ挿入
データベース操作では、効率上の理由から、複数のデータ行を同時に挿入すると有利なことがよくあります。 Go では、これを実現するためのいくつかの方法が提供されています。
1 つの方法は、db.Prepare 関数を使用して準備済みステートメントを作成することです。プリペアド ステートメントを使用すると、SQL インジェクションを回避し、パフォーマンスを向上させることができます。プリペアド ステートメントを使用して 1 回の実行で複数の行を挿入するには、次の手順に従います。
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...)
このアプローチを使用すると、複数のデータ行を効率的に挿入できます。安全性を確保し、データベースの実行数を減らしながらデータベースを構築します。
以上がGo で複数のデータ行を効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。