我正在與很大的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