b.hutchison-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2006-Aug-30 17:52 UTC
Recommendations on pagination?
So, I just finished reading Kevin Clark''s excellent article at: http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails I was feeling pretty smug with myself (although I did have a Find_All to get rid of) until I got to the pagination part. Its great information about its performance problems, but I''m not sure what to do now. I did find paginate_by_sql, which seems like a good approach to me: http://thebogles.com/blog/2006/06/paginate_by_sql-for-rails-a-more-general-approach/ What is the best practice in this area? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
If it works and your data set is small enough that it''s happy and quick, then stick with it. If you''re having speed problems, then think about writing something custom. Definitely don''t just rewrite something because that''s what all the cool kids are doing! :) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
I''m with Tom. Until I actually start seeing a performance impact. I currently have tens of thousands of rows, not millions. Joe -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
"Joe Ruby" wrote:> > I''m with Tom. Until I actually start seeing a performance impact. I > currently have tens of thousands of rows, not millions. >If I recall, the documentation says to perform SQL row count instead of fetching rows when getting the items_count. I wonder if people used this approach and still seeing performance issues with large row set. Should I be concerned...? Long --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Can anyone confirm the behavior of ac.save? I mean what happens when a model is retrieved and a subset attributes are modified and then saved? I have the impression every field in the row is updated regardless, even if the field had not changed. This seems not efficient and can cause a dirty-write in some situations. Does ac.save support field-specific updates? If so how... Thanks, Long --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
On Wed, 2006-08-30 at 19:54 +0000, Tom Taylor wrote:> If it works and your data set is small enough that it''s happy and > quick, then stick with it. If you''re having speed problems, then think > about writing something custom. > > Definitely don''t just rewrite something because that''s what all the > cool kids are doing! :)---- I''m looking at scaling issues from the width dimension rather than the depth dimension. I have a table that has 143 columns which are split amongst 7 data input screens and I am thinking that it would be faster/less memory intensive to only retrieve the specific fields necessary for each particular input screen and of course, the list view. Does anyone do this? Craig --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Long wrote:> "Joe Ruby" wrote: >> >> I''m with Tom. Until I actually start seeing a performance impact. I >> currently have tens of thousands of rows, not millions. >> > If I recall, the documentation says to perform SQL row count instead > of fetching rows when getting the items_count. I wonder if people used > this approach and still seeing performance issues with large row set. > > Should I be concerned...? > > LongGetting a count of ALL rows shouldn''t be expensive - mysql caches it, and I think PostgreSQL also started caching it. Counts WITH condition clauses can be expensive if there are a lot of rows. Joe -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
On 8/30/06, Long <long755-bJEeYj9oJeDQT0dZR+AlfA@public.gmane.org> wrote:> > Can anyone confirm the behavior of ac.save? I mean what happens when a > model is retrieved and a subset attributes are modified and then saved? > > I have the impression every field in the row is updated regardless, even > if the field had not changed. This seems not efficient and can cause a > dirty-write in some situations. > > Does ac.save support field-specific updates? If so how...The entire record is always saved. Add a lock_version column to enable optimistic locking. jeremy --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Long wrote the following on 31.08.2006 00:39 :> Can anyone confirm the behavior of ac.save? I mean what happens when a > model is retrieved and a subset attributes are modified and then saved? > > I have the impression every field in the row is updated regardless, even > if the field had not changed. This seems not efficient and can cause a > dirty-write in some situations. > > Does ac.save support field-specific updates? If so how... >You''ll break validation... You could override update_attribute (which doesn''t do validation anyway). Lionel. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---