Dennis Gearon wrote:
> Looks like there's some parts of that that would make a good todo.
>
> nolan@celery.tssi.com wrote:
>
> >>>Personally, if I want case insensitivity, I'll WRITE IT INTO THE CODE,
> >>>but I can see how some people might think that 'NOLAN', 'Nolan' and
> >>>'nolan' should be considered as the same data.
> >>
> >>Oh, you mean like "SELECT * FROM table WHERE field ~* 'nolan';"?
> >
> >
> > No, I mean as in "SELECT * FROM table WHERE field = 'nolan';"
> >
> > That will match values with any combination of upper and lower case
> > letters that fold to 'nolan': 'Nolan', 'NOLAN', etc.
We require ~* syntax for that, or upper()/lower().
> > Also, unlike PostgreSQL (at least in 7.3), if you define an index on
> > the column, mysql appears to use it for LIKE queries.
> >
> > "SELECT * FROM table WHERE field LIKE 'nolan%';"
> >
> > is very fast in mysql but not in 7.3, and even non-anchored LIKE searches
> > in mysql appear to be using the index.
> >
> > "SELECT * FROM table WHERE field LIKE '%nolan%';"
> >
> > executes considerably faster with an index on field than without one.
I would love to know how they can use an index for a non-anchored query,
i.e. what string are they indexing?
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073