回答編集履歴
1
フォーマットの修正
test
CHANGED
@@ -10,15 +10,19 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
- プリペアードステートメントとループを用いる
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
プリペアードステートメントを用いてINSERTするクエリはキャッシュしておき、追加したいレコードをループで1行1行INSERTする方法がおすすめです。
|
17
|
+
(ループで1行1行INSERTで要件が実現できる場合)プリペアードステートメントを用いてINSERTするクエリはキャッシュしておき、追加したいレコードをループで1行1行INSERTする方法がおすすめです。
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
クエリ自体はプリペアードステートメントでパースされているため、ループ内ではキャッシュしたステートメントIDとパラメータのみデータベースサーバに送信するため、効率的です。(またGoのランタイムが必要に応じて、コネクションプールから新規にコネクションを生成し、並列にクエリを実行します)
|
22
|
+
|
23
|
+
|
24
|
+
|
21
|
-
|
25
|
+
- 動的にクエリを生成する
|
22
26
|
|
23
27
|
|
24
28
|
|
@@ -28,7 +32,7 @@
|
|
28
32
|
|
29
33
|
|
30
34
|
|
31
|
-
|
35
|
+
- その他参考
|
32
36
|
|
33
37
|
|
34
38
|
|
@@ -36,4 +40,4 @@
|
|
36
40
|
|
37
41
|
|
38
42
|
|
39
|
-
|
43
|
+
[golang 一度のinsertで複数のデータをまとめてDBに入れる方法](https://teratail.com/questions/237181)
|