Re: Ignorer la casse

From: "David Boccou" <david(dot)boccou(at)gmail(dot)com>
To: Stéphane BUNEL <stephane(at)bpf(dot)st>
Cc: "Laurent ROCHE" <laurent_roche(at)yahoo(dot)com>, pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Ignorer la casse
Date: 2007-08-17 11:31:44
Message-ID: ba5c9e7e0708170431g60c89c58pf06aaa09054c2c3@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Si je ne m'abuse, de toute façon une recherche avec un critère LIKE et un %
au début de l'expression recherchée ne peut pas se servir des index. (car
celui ci se base sur l'ordre alphanumérique et dans ce cas il ne connaît pas
le premier caractère à chercher)

Je sais que c'est le cas sous Oracle en tout cas

On 8/17/07, Stéphane BUNEL <stephane(at)bpf(dot)st> wrote:
>
> Laurent ROCHE a écrit :
> > Bonjour,
> >
> > J'ai cherché mais je n'ai rien trouvé dans ce sens.
> >
> > Existe-t'il un mode dans lequel un serveur PG ignorerait la casse des
> lettres ?
> > Ceci afin d'éviter de devoir écrire mes requètes de la manière suivante
> (pour rechercher les noms contenant la chaîne polo):
> > SELECT *
> > FROM my_table
> > WHERE lower(tb_name) LIKE '%polo%'
> >
> > Car je suppose que cette requète n'utilisera pas l'index sur tb_name.
>
> Sauf si vous avez penser à créer un index fonctionnel :
> http://stephane.bpf.st/si/bdd/pg/fnctidx
>
> Attention à la conversion effectuée par lower() selon les configurations
> elle ne sait pas toujours convertir correctement les diacritiques.
>
> Une autre solution consiste à prévoir deux colonnes : tb_fullname
> contenant le nom tel qu'entré par l'utilisateur et une colonne tb_name
> contenant une version en minuscule et sans diacritique.
>
> Stéphane BUNEL.
>
> >
> > Pour info, on a les définition suivantes :
> > CREATE TABLE my_table
> > (
> > tb_id serial NOT NULL,
> > tb_name character(100) NOT NULL,
> > CONSTRAINT my_table_pkey PRIMARY KEY (tb_id)
> > ) ;
> >
> > CREATE INDEX idx_tb_name
> > ON my_table
> > USING btree
> > (tb_name);
> >
> >
> >
> >
> > Have fun,
> > L(at)u
> > The Computing Froggy
> >
> >
> >
> >
> >
> _____________________________________________________________________________
> > Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo!
> Mail
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: don't forget to increase your free space map settings
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Guillaume Lelarge 2007-08-17 11:46:37 Re: Ignorer la casse
Previous Message Stéphane BUNEL 2007-08-17 10:19:18 Re: Ignorer la casse