Page 1 sur 1
MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 01:00
par dunbar
Bonjour,
J'ai besoin de rapatrié plusieurs milliers (37.000) de résultats en une seule fois, j'aimerais avoir vos avis sur la meilleur méthode.
Voilà ma requete mais elle prend 10 secondes
$sqlrecupcom = " SELECT id, lieu FROM communes ORDER BY dep ";
$result = $dbh->prepare($sqlrecupcom);
$result->execute();
$resultat = $result->fetchAll(PDO::FETCH_ASSOC);
D'avance merci
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 01:13
par stealth35
hello,
t'as pas besoin de requête préparer si tu rentre rien en valeur query suffira
c'est pour en faire quelle usage derrière ?
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 07:19
par dunbar
hello,
t'as pas besoin de requête préparer si tu rentre rien en valeur query suffira
c'est pour en faire quelle usage derrière ?
Pour un alimenter simple select .

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 09:54
par mere-teresa
As-tu un index ? Sur quel(s) champ(s) ?
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 10:32
par dunbar
As-tu un index ? Sur quel(s) champ(s) ?
Oui sur lieu
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 10:37
par mere-teresa
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 13:34
par stealth35
hello,
t'as pas besoin de requête préparer si tu rentre rien en valeur query suffira
c'est pour en faire quelle usage derrière ?
Pour un alimenter simple select .

pas compris
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 13:57
par xTG
Je pense qu'il voulait dire qu'il récupère les données d'une base pour aller les stocker ailleurs.
Select => alimenter => ??? Nah ?

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 15:11
par dunbar
hello,
t'as pas besoin de requête préparer si tu rentre rien en valeur query suffira
c'est pour en faire quelle usage derrière ?
Pour un alimenter simple select .

pas compris
Pour alimenter un
<select size="1" name="Name">
<option value="value1">Item1</option>
</select>
Je sais que c'est pas bon mais j'ai pas trop le choix

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 15:15
par xTG
Euh... Autant de valeurs dans un select ?
Tu espères franchement que l'utilisateur va réussir à trouver son bonheur dedans ? :/
Ton outil est-il pour une recherche d'un terme connu ou totalement inconnu ?
S'il est connu tu peux utiliser un système d'autocomplétition (vive l'arrachage de dent à la langue française :< ).
Ce sera moins bourrin pour l'utilisateur que de lui afficher une liste faisant 30 écrans de haut.
Cela dit je sais que je suis hors-sujet vu qu'on parle de la manière de récupérer les données.

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 15:25
par dunbar
Ce sera moins bourrin pour l'utilisateur que de lui afficher une liste faisant 30 écrans de haut.
Alors avant de sortir ce genre de truc il serait bon de connaitre la mise en page ou de savoir a quoi cela va servir.
De plus comme tu le dit, tu est hors sujet, je ne demande pas un cours de mise en page ou d'ergonomie mais simplement ci il y a un moyen de rapatrié autant de données rapidement
Merci

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 17:05
par stealth35
ducoup je dirais pas de fetchall mais un while + fetch suffira , ca permet de pas garder ca en mémoire pour php, tu peux essayé un SQL_BUFFER_RESULT dans ta requête mais je sais pas si ca va joué beaucoup, sinon tu pourrais essayer de l'alimenter en ajax, et te servir d'apc ou mettre la requête en cache

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 17:08
par dunbar
Merci, oui je pense le faire en ajax finalement

Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 17:33
par xTG
Ce sera moins bourrin pour l'utilisateur que de lui afficher une liste faisant 30 écrans de haut.
Alors avant de sortir ce genre de truc il serait bon de connaitre la mise en page ou de savoir a quoi cela va servir.
De plus comme tu le dit, tu est hors sujet, je ne demande pas un cours de mise en page ou d'ergonomie mais simplement ci il y a un moyen de rapatrié autant de données rapidement
Merci

Désolé de t'avoir donné mon avis.
Je n'interviendrai plus sur ton topic.
Re: MySQL rapatriement de milliers de résultats
Posté : 04 août 2010, 17:55
par zeus
ouais. C'était ... direct comme réponse.
Ceci dit, presque autant que le message de base.
Je dirais donc 1-1 balle au centre, et tout le monde est content
