質問編集履歴

1

追記

2017/06/02 12:06

投稿

dialbird
dialbird

スコア379

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,17 @@
12
12
 
13
13
  users = ::User.all
14
14
 
15
- # 検索ロジック
15
+ # ほんとはもっと複雑な検索ロジックなのですが、問題の部分だけをピックアップしておきました。
16
+
17
+ # とりあえずここの部分が入っているだけで、結構な量のSQLになるので…
18
+
19
+ # 「検索ロジック自体に問題がある」というよりかは、「早い段階でSQLを発行されてしまう」こと自体に問題があるように思います
20
+
21
+ users = users.preload(corporation: :region)
22
+
23
+ users = users.left_joins(:corporation)
24
+
25
+ users = users.corporation_name_like(name) if name.present?
16
26
 
17
27
  users
18
28