質問編集履歴
1
追記
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -5,7 +5,12 @@ 
     | 
|
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            def matches
         
     | 
| 
       7 
7 
     | 
    
         
             
              users = ::User.all
         
     | 
| 
       8 
     | 
    
         
            -
              # 検索ロジック
         
     | 
| 
      
 8 
     | 
    
         
            +
              # ほんとはもっと複雑な検索ロジックなのですが、問題の部分だけをピックアップしておきました。
         
     | 
| 
      
 9 
     | 
    
         
            +
              # とりあえずここの部分が入っているだけで、結構な量のSQLになるので…
         
     | 
| 
      
 10 
     | 
    
         
            +
             # 「検索ロジック自体に問題がある」というよりかは、「早い段階でSQLを発行されてしまう」こと自体に問題があるように思います
         
     | 
| 
      
 11 
     | 
    
         
            +
              users = users.preload(corporation: :region)
         
     | 
| 
      
 12 
     | 
    
         
            +
              users = users.left_joins(:corporation)
         
     | 
| 
      
 13 
     | 
    
         
            +
              users = users.corporation_name_like(name) if name.present?
         
     | 
| 
       9 
14 
     | 
    
         
             
              users
         
     | 
| 
       10 
15 
     | 
    
         
             
            end
         
     | 
| 
       11 
16 
     | 
    
         
             
            ```
         
     |