|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Bonjour je vous expose mon problème.
Je dois récupérer un "nom d'image" lié à un ID. Seulement j'en ai à peu près 5000 différents. Actuellement je stock ca dans une BDD, et je check donc l'id dedans. Mais quand on recherche et que il y a une centaine de résultats, ca fait 100 requêtes.. Je voulais savoir si c'était moins lourd de stocker ca dans un tableau PHP et de faire un bête check du style " $check[$id] " plutôt que de faire des requête sql mais bon c'est sans oublier que ce tableau ferait dans les 5000 lignes.. d'où ma question. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Faudrait nous montrer un peu de code mais je vois pas pourquoi 100 résultats conduirais à 100 requetes SQL (ce qui évidemment est un tueur de serveur)
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Alors en fait je vous fait un exemple de ce que je ferai en php :
Code :
En fait c'est pour des résultats de recherche, la LIMIT étant de 100, il y a donc une boucle SQL et a chaque passage ca check l'image à afficher pour chaque ligne. donc ca ferai tune requête par passage, c'est pourquoi je me tournerai plutôt vers les tableau, maintenant à savoir si c'est pas trop lourd non plus. au pire des cas je peux faire un JOIN dans ma requête, qu'est ce que vous pensez de ces 3 solutions ? |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Pourquoi ne pas faire une seule requête avec la clause IN() ?
Code :
SELECT images FROM matable WHERE id IN(1,2,3,4,5) |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Parceque j'affiche les résultat via la while de ma requête, donc je peux pas savoir tous les ID avant la fin d'execution
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
A mon avis y'a pas de solution miracle il faut sortir ton affichage du while , n'y récupérer que les infos nécessaires , faire la requêtes pour les images puis afficher.
Un tableau de 5000 entrée en dur , en plus d'être une solution crado va consommer beaucoup de mémoire |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Oui je vais devoir sortir l'affichage du while sql, pas le choix !
et puis je me suis planté c'est pas 5000 mais un peu plus de 42000, donc juste pas possible. Merci pour ta solution je vais aller dans ce sens. |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
la un problème dans ta conception ou dans la logique des choses, montre ta base et ce que tu veux faire exactement
__________________
http://blog.stealth35.com/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com