Page 1 sur 1

Optimiser un meu déroulant

Posté : 01 oct. 2007, 11:44
par JBLCN
Bonjour à tous

J'ai intégré dans une page PHP une liste déroulante alimentée par une table mysql (et donc une requête sql). L'affichage de la page est tout à fait correct.

J'ai voulu placer un ordre d'affichage par un ORDER BY sur la requête qui alimente cette liste déroulante et là mon affichage est très ralenti.

Existe t'il un moyen d'accélerer cette affichage par un paramétrage de la base/table Mysql ou par un autre procédé ?

Grand merci de vtre aide.

Posté : 01 oct. 2007, 11:53
par d0m
tu peux essayer de trier en php les résultats de ta requete pour voir si c'est plus rapide.

Posté : 01 oct. 2007, 12:18
par JBLCN
Bonjour

De quelle manière ?

Merci de ta suggestion

Posté : 01 oct. 2007, 12:23
par Sedril
Il y a plusieurs possibilités, mais tout dépends du volume de données à ramener.

* optimiser la base de données en posant un indexe sur le champ à trier.
* faire faire le tri à PHP à l'aide d'une fonction sort (voir doc PHP)

Aprés, il faut étudier plus précisément le problème avec une vue sur le code, la structure de la table
et la requête exécutée...

Posté : 01 oct. 2007, 12:24
par JBLCN
Je vais tester cela.

Merci de votre aide.

Re: Optimiser un meu déroulant

Posté : 01 oct. 2007, 12:44
par Hubert Roksor
Oubliez le tri par PHP, il n'y a aucune chance pour qu'il soit plus rapide. MySQL trie les données très très rapidement, parce que c'est son boulot.

@JBLCN: tu ne donnes aucune information dans ton message, ni la requête en question, ni le schéma des tables (pourtant indiqué en gras et en rouge lorsqu'on poste un nouveau sujet), ni une idée sur les données en question. Il n'existe pas d'interrupteur on/off pour accélérer les requêtes, ni de formule magique qui fonctionne sur tout type de requête.

Poste la requête, une description des données, le schéma des tables. Regarde du côté d'EXPLAIN et poste le résultat et peut-être quelqu'un aura une idée de ce qui ne va pas.