DEDIBOX-NEWS.COM

Le Forum Non Officiel de la DEDIBOX

Vous n'êtes pas identifié.

#1 2006-12-19 16:22:37

JalaL
Maitre Jeidi
Date d'inscription: 2006-05-06
Messages: 327
Site web

Optimisation requettes SQL

Bah je voulais pas polluer l'autre sujet, donc c'est ici que ca va se passer.

Je viens de me rendre compte que la condition LIKE (dans WHERE) est plus rapide que REGEXP

Une requette avec jointure entre deux tables de 14000 et 150000 enregistrement met 0.04s avec REGEXP et 0.008s avec LIKE (le resutat sans LIMIT donne 950 enregistrement)... bien sur c'est le temps maximim apres plusieurs essais.

A suivre...


use Mozilla::Firefox;
open($your_mind) or die();

Hors ligne

 

#2 2006-12-19 16:28:33

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Optimisation requettes SQL

Même si la différence de perf est pas étonnante, ca fait quand même un ratio assez improtant !
T'es sûr que le plan d'exécution est le même entre les 2 requêtes ?

Hors ligne

 

#3 2006-12-19 16:34:27

JalaL
Maitre Jeidi
Date d'inscription: 2006-05-06
Messages: 327
Site web

Re: Optimisation requettes SQL

Oui c'est exactement le meme, LIKE est 5 fois plus rapide dans ce cas

Dernière modification par JalaL (2006-12-19 16:36:40)


use Mozilla::Firefox;
open($your_mind) or die();

Hors ligne

 

#4 2006-12-19 16:43:29

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Optimisation requettes SQL

JalaL a écrit:

Oui c'est exactement le meme, LIKE est 5 fois plus rapide dans ce cas

Explain donne la même chose, donc ?

Hors ligne

 

#5 2006-12-19 16:58:38

JalaL
Maitre Jeidi
Date d'inscription: 2006-05-06
Messages: 327
Site web

Re: Optimisation requettes SQL

Yes,


use Mozilla::Firefox;
open($your_mind) or die();

Hors ligne

 

#6 2006-12-20 10:01:18

Jérémy
Membres d'honneurs
Date d'inscription: 2006-05-17
Messages: 956
Site web

Re: Optimisation requettes SQL

En meme temps c'est normal, le Like est moins puissant que regexp


ATTENTION : VHCS dispo en base n'est pas sécurisé !!!

Hors ligne

 

#7 2006-12-22 19:30:07

datz
Je débarque
Date d'inscription: 2006-12-03
Messages: 6

Re: Optimisation requettes SQL

Quelqu'un a déjà essayé la recherche "fulltext" de mysql?

Hors ligne

 

#8 2006-12-22 22:28:03

Jérémy
Membres d'honneurs
Date d'inscription: 2006-05-17
Messages: 956
Site web

Re: Optimisation requettes SQL

Oui j'ai déja essayé et c'est assez intéressant, tres gourmant en terme de place mais tres puissant et plutot rapide, personnelement depuis que j'ai découvert ca je mets d'office tout en fulltext car passer une grosse table en fulltext ensuite est un peu hardu


ATTENTION : VHCS dispo en base n'est pas sécurisé !!!

Hors ligne

 

#9 2006-12-22 22:34:12

datz
Je débarque
Date d'inscription: 2006-12-03
Messages: 6

Re: Optimisation requettes SQL

De mon coté j'ai des performances catastrophiques sur une table 70 000 lignes....
J'ai deux champs en fulltext.

C'est sur quel genre de données que tu fais tes recherchent?

Moi c'est ca: http://ggimmo.com/

Amicalement

Marc

Hors ligne

 

#10 2006-12-23 00:41:32

Jérémy
Membres d'honneurs
Date d'inscription: 2006-05-17
Messages: 956
Site web

Re: Optimisation requettes SQL

Message de forum  , ca marche plutot correctement meme si un systeme idépendant et numérique serait peut etre plus interessant


ATTENTION : VHCS dispo en base n'est pas sécurisé !!!

Hors ligne

 

#11 2006-12-23 00:53:14

datz
Je débarque
Date d'inscription: 2006-12-03
Messages: 6

Re: Optimisation requettes SQL

Je pense recoder ca en C.
Tien j'ai remarqué le contraire sur mon hébergement actuel, regexp est un pouilleme plus rapide que like....

Hors ligne

 

#12 2006-12-23 03:00:16

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Optimisation requettes SQL

Euh au lieu de recoder, y a des indexeurs existants salement plus performants que le fulltext de MySQL et qui permettent de bosser avec MySQL ou autre bases de données. Y a par exemple sphinxsearch. Tu lui files les données à indexer avec un identifiant unique pour chaque "document" (au hasard, la PK) et lors des recherches il te file les ID des documents qui matchent. T'as plus qu'à passer ca en SQL pour récupérer les documents "classiquement". En terme de perfs, ca poutre le fulltext mysql. Et surtout ca te laisse libre du choix de moteur de stockage pour tes tables...

Hors ligne

 

#13 2006-12-23 16:27:41

datz
Je débarque
Date d'inscription: 2006-12-03
Messages: 6

Re: Optimisation requettes SQL

Ca m'a l'ai pas mal du tout :-)
Merci pour le plan!
Tu l'as déjà mis en oeuvre?

Hors ligne

 

#14 2006-12-24 01:14:23

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Optimisation requettes SQL

Moi non, mais un pote (pcinpact.com) l'a mis, quand le fulltext mysql commençait à montrer sérieusement ses limites.
Il en était tout à fait satisfait aux dernières nouvelles. Je vais lui redemander les détails de son implémentation à l'occasion.

Hors ligne

 

#15 2006-12-24 13:58:27

datz
Je débarque
Date d'inscription: 2006-12-03
Messages: 6

Re: Optimisation requettes SQL

Merci Calimero :-)

Hors ligne

 

#16 2007-07-13 11:02:41

termitor
Je débarque
Date d'inscription: 2006-12-01
Messages: 1

Re: Optimisation requettes SQL

ca m'interese , aussi , pcinpact utilise punbb ?

Bien a vous

Hors ligne

 

#17 2007-07-13 12:55:30

Calimero
Maitre Jeidi
Lieu: 94 | 67
Date d'inscription: 2006-05-05
Messages: 2729

Re: Optimisation requettes SQL

Non. Mais spynxsearch est in "indexeur" indépendant.
Le type de forum ou la structure de la base est assez secondaire. Donc que ce soit la base d'un punbb, phpbb, dotclear, ...

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson