我正在与很大的mysql2数据库在此刻工作了很多,虽然我已经索引了我认为是合适的字段,但某些查询的返回时间非常缓慢。Rails数据库性能调优
我有两个型号导致问题,Comment
和Commenter
。
现在,Commenter
和Comment
之间存在has_many
关系,但我的查询依赖于查找每个评论的评论者的用户名。所以,我会跑是这样的:
c = Blog.first.comments ##this bit runs fine, I indexed the "blog_id" field on Comments
c.collect {|c| c.commenter.username}
为了帮助与速度问题,我创建了用于评价模型commenter_id
领域的指标。但它仍然运行非常缓慢..
有人知道我可以做什么不同,这将有助于提高查询的速度?
我相信eager_load并且包含仅用于活动记录关系的工作。不是数组,在我的文章中,c是一个数组。 – BananaNeil 2011-12-20 02:40:05
它实际上并不是 - 关联就是关系 - 你绝对可以做filtered_ordered_comments = some_blog.comments.where(...)。order(...)例如 – 2011-12-20 08:05:40