DataMapper方法太慢了

时间:2014-01-12 19:35:16

标签: sql ruby performance sinatra datamapper

我有两个模特,Show和Episode。我需要保存数据库中保存的每个Show的第一个未播放或最后发布的剧集。我使用以下方法,但它很慢(650ms~)。你有什么想法加快它的速度吗? (episode.rb

def last_episodes(status)
  [].tap { |e|
    Show.all(status: status).each { |show|
      episodes   = Episode.all show_name: show.name
      released   = episodes.select { |e|     e.complete? }
      unreleased = episodes.select { |e| not e.complete? }

      e << (unreleased.empty? ? released.last : unreleased.first)
    }
  }
end

0 个答案:

没有答案