From 674028588c406b26030bb6b7ae4e62e321bd0ec2 Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 30 Mar 2017 00:20:39 -0500 Subject: [PATCH] /artists: avoid COUNT(*), avoid N+1 queries on artist urls. * The /artists page issued a `SELECT count(*) FROM artists` because .paginate was missing search_count. * /artists.json had an N+1 problem on artist urls. This slowed down autocomplete. --- app/controllers/artists_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/artists_controller.rb b/app/controllers/artists_controller.rb index 7d6e67467..e38fff9ea 100644 --- a/app/controllers/artists_controller.rb +++ b/app/controllers/artists_controller.rb @@ -38,7 +38,7 @@ class ArtistsController < ApplicationController def index search_params = params[:search].present? ? params[:search] : params - @artists = Artist.search(search_params).order("id desc").paginate(params[:page], :limit => params[:limit]) + @artists = Artist.includes(:urls).search(search_params).order("id desc").paginate(params[:page], :limit => params[:limit], :search_count => params[:search]) respond_with(@artists) do |format| format.xml do render :xml => @artists.to_xml(:include => [:urls], :root => "artists")