我怎样才能重写 ActiveRecord 查询来解决这个问题?我是一名 python 程序员并使用 sqlalchemy,所以如果可以从 python 的角度解释这将是很棒的。我真的只需要知道如何解决这个问题。
我知道这个问题可能与在每台服务器上打开的连接有关,因此与单服务器登台环境相比,在生产环境中运行时运行速度很慢。但我不知道如何解决这个问题。我习惯用 python 编程,我使用 sqlalchemy,它已经针对这种分布式系统进行了优化。
class Board < ActiveRecord::Base
def messages
message_ids = Message.where("board_id = ?", self.id).map { |c| c.id }
message_ids.map { |message_id| Message.find_by_id(message_id) }
end
end
ActiveRecord 查询经过优化,可以在多服务器生产环境和单服务器暂存环境中运行。