50 000 enregistrements avec PHP MySql, extremement lent

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 avr. 2006, 23:49

J'adore passer un peu de temps à renvoyer vers le manuel, demander des éclaircissements, faire exprimer le problème clairement pour que la personne trouve elle-même...

...et que quelqu'un choisisse de balancer du code même pas bon.

](*,)
Est-ce que LIKE va faire une recherche de la chaine en m'importe quel endroit de la colonne, ou bien ne peut partir que de la première position de la colonne?
pour voir comment fonctionne LIKE : http://dev.mysql.com/doc/refman/5.0/fr/ ... ching.html

ViPHP
ViPHP | 656 Messages

16 avr. 2006, 00:04

...et que quelqu'un choisisse de balancer du code même pas bon.
C'est moi?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

16 avr. 2006, 00:28

C'est moi?
Bah ouais :lol:

Il manque des trucs pour le LIKE non ?

Eléphant du PHP | 64 Messages

16 avr. 2006, 01:37

Bonsoir les courageux,

Je commence à avoir une piste avec
$result = mysql_query ("SELECT adr_id,adr_name1,adr_name2 FROM address WHERE UPPER(adr_name1) LIKE '$name0' || UPPER(adr_name2) LIKE '$name0'",$db); 
Pour moi au Canada c'est moins tard, mais pour les gens qui habitent la France ça commence à faire tard. Metrci encore.

Eléphant du PHP | 64 Messages

16 avr. 2006, 01:58

C'était bien la bonne requëte.

Finalement j'appelle les deux tables l'une après l'autre.

Le résultat est environ 100 fois plus rapide, c'est presque immédiat.

Merci à tous et en particulier à Oucklileou pour m'avoir forcé à réflèchir après m'avoir montrer le chemin.

Eléphant du PHP | 64 Messages

16 avr. 2006, 03:01

Dans le LIKE '$name0' il faut que cette chaine inclue les % avant et après.

Comme ça: $name0 = '%'.strtoupper($name0).'%';

Encore merci à tous

ViPHP
ViPHP | 656 Messages

16 avr. 2006, 03:04

C'est moi?
Bah ouais :lol:

Il manque des trucs pour le LIKE non ?
J'en sais rien j'ai jamais utilisé LIKE de ma vie, j'ai fais que recopier son code et rajouté ce que je savais par rapport a AS, sinon désolé, j'ai tellement de trucs en cours : Modelisation Merise, MS SQL Server 2005, Oracle, PostgreSQL, MySQL5, AJAX, C/C++, CSS2, bref, je suis étudiant donc ça prends énormement de temps de bien connaitre tout ça :?

Eléphant du PHP | 64 Messages

16 avr. 2006, 03:14

Bonsoir Ultiny

Le but de mes deux derniers messages était d'aider à la compréhension, en quelque sorte de payer ma dette à la communauté qu'il m'a si bien aidé, mais en aucun cas de pointer le doigt sur quiconque.

J'ai 57 ans et (comme l'a chanté Jean Gabin) "je sais que je ne sais pas".

Un dernier commentaire, ne t'excuse pas d'apprendre, fais en une force.

Quand à 27 ans, pendant un stage en Allemagne, un collègue m'a dit que je ne parlais pas très bien allemand, je lui ai répliqué (en allemand): "mais qu'est-ce je parle bien le français". Cela a clos la discussion avec ce collègue.

Bonne nuit

ViPHP
ViPHP | 656 Messages

16 avr. 2006, 03:48

Je répondais à ouckileou. C'est vrai en même temps j'ai 18 ans alors j'ai tout le temps d'apprendre plein de trucs :P