以下のようなコードを効率的に実行するにはどうしたらよいかお聞きしたいです。
ruby
1注) accounts.class => Array(Activerecordは使えません) 2 3 4 arys = accounts.map do |acct| 5 a_name= acct&.address 6 {quota: AccountInfo.find_by(name: a_name)&.quota&.hoge} 7 end 8 datas = accounts.zip(arys) 9 10 11 12
accountsには1万件のデータがあり、acctブロック変数を使って1万回のfind_byを実行してhoge属性の値を取得しています。
AccountInfo has_many quotaという関係性です。
1万回のクエリが行われるのはとても非効率だと思っていますが、
アドバイスなどお聞きしたく思います。
何卒よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/29 05:32