我有两个模特,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