teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

フォーマットの修正

2020/08/09 02:57

投稿

d_tutuz
d_tutuz

スコア730

answer CHANGED
@@ -4,17 +4,19 @@
4
4
 
5
5
  ---
6
6
 
7
- #### プリペアードステートメントとループを用いる
7
+ - プリペアードステートメントとループを用いる
8
8
 
9
- プリペアードステートメントを用いてINSERTするクエリはキャッシュしておき、追加したいレコードをループで1行1行INSERTする方法がおすすめです。クエリ自体はプリペアードステートメントでパースされているため、ループ内ではキャッシュしたステートメントIDとパラメータのみデータベースサーバに送信するため、効率的です。またGoのランタイムが必要に応じて、コネクションプールから新規にコネクションを生成し、並列にクエリを実行します。
9
+ (ルーで1行1行INSERTで要件が実現できる場合)プリペアードステートメントを用いてINSERTするクエリはキャッシュしておき、追加したいレコードをループで1行1行INSERTする方法がおすすめです。
10
10
 
11
- #### 動的にクエリを生成す
11
+ クエリ自体はプリペアードステートメントでパースされているため、ループ内ではキャッシュしたステートメントIDとパラメータのみデータベースサーバに送信するため、効率的です。(またGoのランタイムが必要に応じて、コネクションプールから新規にコネクションを生成し、並列にクエリを実行しま)
12
12
 
13
+ - 動的にクエリを生成する
14
+
13
15
  別の方法としてはプリペアードステートメントを使わずに、追加したいレコード数に合わせてクエリのパラメータの数を調整するように、動的にクエリを生成する方法があります。
14
16
  [https://stackoverflow.com/questions/21108084/how-to-insert-multiple-data-at-once](https://stackoverflow.com/questions/21108084/how-to-insert-multiple-data-at-once)
15
17
 
16
- #### その他参考
18
+ - その他参考
17
19
 
18
20
  以下の記事も参考になると思いますので、URLを載せておきます。
19
21
 
20
- - [golang 一度のinsertで複数のデータをまとめてDBに入れる方法](https://teratail.com/questions/237181)
22
+ [golang 一度のinsertで複数のデータをまとめてDBに入れる方法](https://teratail.com/questions/237181)