Requete SQL avec des milliers de resultats en retours

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete SQL avec des milliers de resultats en retours

Re: Requete SQL avec des milliers de resultats en retours

par Chokaman » 18 août 2011, 11:13

j'ai régler le soucis en formatant la base de donner et créant une base de donnée "export". Et en changeant ma clef primaire ... du coup je passe a 35ms d’exécution (pour 25 000 enregistrements retournés) de script sur une toute petite machine de dev ...

Le millier d'informations sont nécessaire pour l'affichage de la page . Elles restent "transparente" ou presque pour l'utilisateur :)

Merci

Re: Requete SQL avec des milliers de resultats en retours

par Mazarini » 18 août 2011, 09:54

Bonjour,

J'ai du mal à comprendre pourquoi tu à besoin de lire 10000 enregistrement d'un coup pour une page html. L'utilisateur va avoir du mal à consulter toute cette information. Il me semblerai plus judicieux de faire un traitement par paquet d'enregistrements.
Il est concevable de faire des requêtes retournant beaucoup de lignes, mais pour un traitement sans interaction avec l'utilisateur. Dans le cas ou il y a une interaction avec l'utilisateur, il me semble qu'il y a un problème sur le dialogue prévu.

Cette remarque n'est pas forcément pertinente, mais il me semble important que tu te poses la question.

Autrement, tu peux revoir les index ou essayer d'optimiser ta requête sans qu'en augmentant la puissance machine tu amélioreras automatiquement le temps de réponse.

Requete SQL avec des milliers de resultats en retours

par Chokaman » 17 août 2011, 23:22

Bonsoir,

J'ai actuellement besoin de récupérer pas loin de 10 000 enregistrement d'une bdd en ajax.
Si je fais ma requête avec une limite a 100 ou 200 enregistrement je tourne a 10/50 ms de temps réponses.
Si je renvois tous les résultats je met 20secs, lors de la première demande, après le cache se met en route et hop je tourne a 100ms.

Le soucis c'est que cette requête est vouer a etre toujours différente ...

Je me demande comment je peut arriver a réduire ce premier temps d’exécution de manière considérable.(augmentation du buffer demande bdd ou autre)


P.S : Si besoin je peut avoir un serveur dédier pour apache/php et un serveur pour la bdd (pour simplement cette requête).