On Wed, Jul 29, 2009 at 4:29 PM, Josh<[email protected]> wrote: > > I have been working with an ever scope creeping application which > requires very deeply nested database relations find/select statements. > I've taken in more than a few cases (where optimization is needed) to > using find_by_sql("select * ... join, count, where , etc") when > sticking to builtin rails finder options become inefficient or unable > to process the queries. I am aware that sometimes I use find_by_sql > just because I don't have the time to try to figure out the rails way > and writing queries is just simpler and quicker. Every time I do I am > am impressed at the query optimization, but I always have a feeling of > guilt over it that I just can't shake! > > Ideally I would like to know if these sql queries are going to scale > to other dbs query languages. Do other people find themselves doing > the same thing? I think it would be great if there were a sql tester > that would tell you that syntax or operational order could be > ambiguous depending on what db software is being implemented. Anyone > know of such a thing, or perhaps have a good set of guidelines that > keeps queries compatible?
If you're having to write SQL your models are likely not associated correctly. Make sure to use the :select option in your find calls, otherwise you get the default SELECT *. Your raw SQL may work on another db if it's simple, but not having any SQL will of course be the completely portable option. -- Greg Donald http://destiney.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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

