optimiser une requete mysql
28 messages
• Page 1 sur 2 • 1, 2
-

chava2b - WRInaute occasionnel

- Messages: 263
- Inscription: 5 Déc 2003
optimiser une requete mysql
Salut,
J'ai une requete qui est un peu longue et je voulais savoir si on peut l'optimiser:
Exemple avec le mot "PILE" [4 lettres]
Je veux recuperer tous les mots dans ma table qui ont entre 3 et 5 lettres, composés seulement des lettres P, I, L et E
Voici ce que je fais:
SELECT mot FROM ma_table WHERE mot RLIKE '^[pile]{3,5}$' AND mot LIKE '%p%' AND mot LIKE '%i%' AND mot LIKE '%l%' AND mot LIKE '%e%'
Pensez vous qu'on peut mieux faire?
Merci
J'ai une requete qui est un peu longue et je voulais savoir si on peut l'optimiser:
Exemple avec le mot "PILE" [4 lettres]
Je veux recuperer tous les mots dans ma table qui ont entre 3 et 5 lettres, composés seulement des lettres P, I, L et E
Voici ce que je fais:
SELECT mot FROM ma_table WHERE mot RLIKE '^[pile]{3,5}$' AND mot LIKE '%p%' AND mot LIKE '%i%' AND mot LIKE '%l%' AND mot LIKE '%e%'
Pensez vous qu'on peut mieux faire?
Merci
-

julienr - WRInaute impliqué

- Messages: 913
- Inscription: 5 Aoû 2003
salut,
connaissais pas RLIKE mais :
ne suffit pas ?
connaissais pas RLIKE mais :
- Code: Tout sélectionner
SELECT mot FROM ma_table WHERE mot RLIKE '^[pile]{3,5}$'
ne suffit pas ?
-

RiPSO - WRInaute passionné

- Messages: 1591
- Inscription: 4 Oct 2007
chava2b a écrit:Je ne veux pas le mot POLE, ni EPEE, ce qui serait le ca si j'enleve la suite du RLIKE
tu risque pas de trouver pole vu qu'il n'y a pas de "o". Par contre epee c'est bon tu as dit que t'acceptais les répétitions de lettres, non?
Parcequ'a première vue c'est la regex de julien qu'il te faut (ou tout du moins le principe, je n'ai pas vérifié si elle fonctionnait)
-

YoyoS - WRInaute accro

- Messages: 3835
- Inscription: 14 Sep 2006
- Code: Tout sélectionner
SELECT mot FROM ma_table WHERE mot RLIKE '^[p|i|l|e]{3,5}$'
Et un truc du genre ?
-

chava2b - WRInaute occasionnel

- Messages: 263
- Inscription: 5 Déc 2003
oups, le mot "POLE" ne ressort effectivement pas, ca c'est bon
Par contre, il me faut au moins une fois toutes les lettres. Je ne veux pas EPEE dans l'exemple.
Sinon, le RLIKE '^[p|i|l|e]{3,5}$' est egal au RLIKE '^[pile]{3,5}$'
Par contre, il me faut au moins une fois toutes les lettres. Je ne veux pas EPEE dans l'exemple.
Sinon, le RLIKE '^[p|i|l|e]{3,5}$' est egal au RLIKE '^[pile]{3,5}$'
-

HawkEye - WRInaute accro

- Messages: 17013
- Inscription: 23 Fév 2004
chava2b a écrit:oups, le mot "POLE" ne ressort effectivement pas, ca c'est bon
Par contre, il me faut au moins une fois toutes les lettres. Je ne veux pas EPEE dans l'exemple.
Sinon, le RLIKE '^[p|i|l|e]{3,5}$' est egal au RLIKE '^[pile]{3,5}$'
A mon avis tu vas avoir du mal à trouver des mots de 3 lettres qui contiennet au moins une fois les 4 lettres du mot de départ
-

julienr - WRInaute impliqué

- Messages: 913
- Inscription: 5 Aoû 2003
ok mais bon il semble pas que ta requête du départ réponde à cette contrainte
- Code: Tout sélectionner
SELECT mot FROM ma_table WHERE mot RLIKE '^[pile]{3,5}$' AND mot LIKE '%p%' AND mot LIKE '%i%' AND mot LIKE '%l%' AND mot LIKE '%e%'
28 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Optimiser requête Mysql
- Optimiser une requete MySQL
- Comment optimiser une requete mysql/sql?
- Aide pour optimiser l'écriture d'une requete PHP/MYSQL
- [mysql] trier les résultats d'une requête selon une table non liée à la requête
- Optimiser requete sql
- Optimiser une requete SQL
- Optimiser une double requete
- Optimiser mysql
- Comment optimiser au mieux mon site sur une requête
- Google API : guide de développement de l'API Google - 20-09-2002
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Passage à l'heure d'été/hiver sur un forum phpBB 3 - 27-03-2011
- Les différents systèmes de mise en cache des données - 16-08-2010
- Nombre moyen de mots par requête : statistiques AOL Août 2006 - 10-08-2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006 - 11-08-2006
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
