Thanks, that makes things clearer. But how big is big? I don't plan on
my app being hugely popular, but would thousands of entries be ok? Is
there an area where LIKE starts to be really slow?

On Mar 13, 11:06 am, Charles Johnson <[email protected]> wrote:
> On Fri, Mar 13, 2009 at 12:42 PM, Mike C <[email protected]> wrote:
>
> > I've heard that using LIKE is very slow, but I see it being used a lot
> > in examples, blogs etc. Is it really that bad? Since Rails doesn't
> > directly support Fulltext search, this is the easiest way to get
> > searching done, right? Or are there any other easier ways? I'm using
> > acts_as_indexed right now, but it still doesn't do what LIKE does.
>
> The problem with the sql "LIKE" is that it can render the use of an
> index impossible. Imagine a search like:
>
> @users = User.find(:all, :conditions => "first_name like '%ILL%'")
>
> The database will have to find BILL, GILL, JILL, JILLIAN, etc. If you have a
> few hundred or a few thousand users that may not be such an issue. Millions
> of users makes this a different issue altogether. A full table scan is
> needed, and what will you do with all those rows?
>
> The point is this, when you are tempted to use LIKE be sure the data set
> searched and returned are small and that you try to other ways to constrain
> the search.
>
> Cheers--
>
> Charles
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to