Rails针对属于用户的对象的复杂SQL';追随者
我正在尝试制定一个复杂的SQL查询(在Rails 3中),用于访问属于用户追随者的照片对象 情况将是:Rails针对属于用户的对象的复杂SQL';追随者,sql,ruby-on-rails,ruby-on-rails-3,performance,Sql,Ruby On Rails,Ruby On Rails 3,Performance,我正在尝试制定一个复杂的SQL查询(在Rails 3中),用于访问属于用户追随者的照片对象 情况将是: 用户A有500个追随者 每个追随者有500张照片 我想生成一个查询,根据照片的创建日期一次分页(使用will_paginate)10张照片,并将其返回给用户a 因此,这基本上类似于将追随者的所有照片收集到一个集合中,根据照片创建日期对集合进行排序,然后对结果分页,一次只返回10张照片。这可能意味着最近的10张照片来自多个追随者 关于这一点,我有两个问题: 您将如何高效地制定这样一个复杂的查
- 用户A有500个追随者
- 每个追随者有500张照片
- 我想生成一个查询,根据照片的创建日期一次分页(使用will_paginate)10张照片,并将其返回给用户a
User.rb
文件中的关系建模为:
has_many :following, :through => :relationships, :source => :followed
has_many :followers, :through => :reverse_relationships, :source => :follower
has_many :photos, :dependent => :destroy, :order => 'created_at DESC'
其中追随者/追随者只是另一个用户
感谢您提供的任何指导!非常感谢!!!:) 我怀疑会有延迟问题,因为will_paginate对查询设置了限制,在您的案例10中。但是,您需要确保数据库上存在索引 我认为这样做应该奏效:
has_many :follower_photos, :class_name => 'Photo', :through => :followers
这就是你想要的吗?我怀疑是否会有延迟问题,因为will_paginate对查询进行了限制,在你的案例10中。但是,您需要确保数据库上存在索引 我认为这样做应该奏效:
has_many :follower_photos, :class_name => 'Photo', :through => :followers
这就是你要找的吗?不幸的是,这对我不起作用,因为它一直在找资料。不幸的是,这对我不起作用,因为它一直在找资料