質問編集履歴
1
補足
    
        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 | 
            +
            に辿り着きました。
         | 
