From b43b2eb275e6b2c45a4d2e3d4dc6fe68c0d79f65 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Tue, 4 Apr 2017 14:16:20 -0700 Subject: [PATCH] optimization for TagAlias.to_aliased --- app/models/tag_alias.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/app/models/tag_alias.rb b/app/models/tag_alias.rb index b18e192a0..0c06ad9dd 100644 --- a/app/models/tag_alias.rb +++ b/app/models/tag_alias.rb @@ -81,11 +81,9 @@ class TagAlias < ActiveRecord::Base include CacheMethods def self.to_aliased(names) - Array(names).flatten.map do |name| - Cache.get("ta:#{Cache.sanitize(name)}") do - ActiveRecord::Base.select_value_sql("select consequent_name from tag_aliases where status in ('active', 'processing') and antecedent_name = ?", name) || name.to_s - end - end.uniq + Cache.get_multi(Array(names), "ta") do |tag| + ActiveRecord::Base.select_value_sql("select consequent_name from tag_aliases where status in ('active', 'processing') and antecedent_name = ?", tag) || tag.to_s + end.values end def approve!(approver = CurrentUser.user, update_topic: true)