Re: [pgsql-advocacy] interesting PHP/MySQL thread - Mailing list pgsql-general

From Lincoln Yeoh
Subject Re: [pgsql-advocacy] interesting PHP/MySQL thread
Date
Msg-id 5.2.1.1.1.20030623221452.02f7fd48@mbox.jaring.my
Whole thread Raw
In response to Re: [pgsql-advocacy] interesting PHP/MySQL thread  (nolan@celery.tssi.com)
Responses Re: [pgsql-advocacy] interesting PHP/MySQL thread  (Dennis Gearon <gearond@cvc.net>)
List pgsql-general
At 12:33 AM 6/23/2003 -0500, nolan@celery.tssi.com wrote:
> >
> > 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.

For me that's a matter of taste. I prefer to use = for case sensitive and
lower(field)=lower('data') for case insensitive. I wonder if there is a
difference between using lower vs upper for case insensitivity but I've
never bothered to look deeply into it.


>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.

The versions of Postgresql I've used since I can remember (e.g. at least
v6.5.3 some years ago) use indexes for anchored LIKE searches.

I vaguely recall some people having this "not using index" behaviour when
they are using various locales.


>    "SELECT * FROM table WHERE field LIKE '%nolan%';"
>
>executes considerably faster with an index on field than without one.

I think MySQL wins in this one. Just wondering how they do it. And whether
it's a good idea to do it that way.

Regards,
Link.


pgsql-general by date:

Previous
From: Dennis Gearon
Date:
Subject: Re: [pgsql-advocacy] interesting PHP/MySQL thread
Next
From: "Johnson, Shaunn"
Date:
Subject: missing chunk number error?