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

質問編集履歴

1

補足

2016/06/19 10:02

投稿

qaz3330
qaz3330

スコア113

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,22 @@
9
9
  純粋にSELECT文をしてなければ、INSERTをするといったことをすると処理に時間がかかってしまうため、
10
10
  initializeのようなことができればなと思いました。
11
11
 
12
- よろしくお願いします。
12
+ よろしくお願いします。
13
+
14
+
15
+ # 補足
16
+
17
+ 皆様の回答を拝見して補足します。
18
+
19
+ find_or_initialize_byでは、DBに保存されないので、
20
+ ここだけのSQLを見るのはおかしいという点、理解出来ました。
21
+
22
+ また、今回の一番の趣旨は、find_or_create_byのようにやると、
23
+ INSERT文がループの回数だけ発生してしまうため、
24
+ そうではなく、一括で更新できるようなSQL文を作成したいです。
25
+
26
+ そういう点では、Bulk insertなどが近いのかなと思いました。
27
+ とはいえど、すべてが既存レコードというわけではないので、
28
+ レコードが見つからなかったら、newして、・・・と考えていたら、find_or_initialize_by
29
+
30
+ に辿り着きました。