Sur une page de maintenance que tu lances toutes les semaines à 4h du matin, non, tu peux en exécuter 2000 si tu veux, c'est pas un problème. Maintenant, sur une page publiquement accessible dont tu ne peux pas contrôler la charge alors oui, tu risques de voir ton site faire une crise cardiaque, littéralement.A votre avis, est-ce lourd de réaliser 800 requètes?
Malheureusement c'est une illusion très courante (c'est arrivé à peu près à tous les sites du monde). Quand on teste, à vue de nez ça a l'air rapide, quand on fait des microbenchmarks tout est super optimisé et le jour où l'adresse attérit sur Digg/Yahoo ou la dernière page d'Entrevue le serveur s'effondre. En conditions réelles, les requêtes sont généralement plus diverses, portent sur toutes les données de ta base, les caches d'index expirent, le cache de requête de MySQL aussi, etc...La page se charge quasi instantanément, je ne perçoi strictement aucun ralentissement.
800, 100, ce sont des chiffres. Ils n'ont aucune signification si on ne sait pas ce que sont ces requêtes.J'ai reussi à optimiser un peu le tout en modifiant mon algo, je me retrouve désormais avec environ 100 requetes.
Je ne peux malheureusement pas poster mes requetes.
Ça c'est pas super bon signe...Elles sont vraiment énormes
...et ça c'est carrément bizarre. À moins que tu ne fasses références à l'ajout de certains critères selon la recherche ?et sont générées via un algo.
Sans plus d'information sur tes tables ou tes requêtes personne ne pourra t'apporter d'aide pertinente. On pourrait balancer des trucs bateau, mais honnêtement ça ne servirait à personne.En gros pour l'instant j'ai [...]
Elles exécutés autant de fois qu'il y a d'hébergement (ici 15 fois).
Là encore, exécuter la même requête avec un paramètre qui change est mauvais signe. Tu devrais chercher à remplacer cette boucle par une jointure.1 requète pour chaque hébergement
Changer l'architecture d'une base ne prend pas 6 années de travail, mais une bonne conception, une coupure temporaire de la production (ca se fait donc pendant l'automne dans ce cas précis, ou à la rigueur l'hiver), des grosses requètes, procédures, et scripts de transformation, et puis des serveurs de calcul derrière pour faire le boulot. Et selon la puissance fournie, en quelques jours, heures ou minutes, tu as une nouvelle architecture prête à supporter des charges plus lourdes...C'est le problème quand les choses sont mal conçues dès le départ et qu'il arrive un moment où ça ne tient plus mais qu'il est impossible modifier quoique ce soit en profondeur sous peine de se retaper 6 années de travail.
Quelqu'un aurait une idée? Laisser mon appel de ma classe contenant une petite requete pour chaque résultat ou dupliquer tout le contenu de cette classe dans celle de recherche et intégrer la ptite requete dans la grosse de recherche? Merci.Concernant de ces requetes qui sont générées 1 seules fois par hébergement. Oui elles sont petites, oui elles pourraient s'intégrer dans la grosse requete de recherche. Mais celà alourdirait cette dernière. De plus ma requète tarifs est dans une classe tarifs dont j'ai besoin d'accéder depuis n'importe où sur le site.
Pourquoi récupérer les tarifs dans ma requete de recherche si une classe est là pour le faire ? Car il y a une gros traitement de majorations réalisée dans cette classe, je ne vais quand même pas dupliquer toute une partie de mon algo (requete tarifs + calcul majoration)?
Ce genre de choses là, ce sont des questions managériales plus que technique. Je n'ai jamais dit que c'était une mesure que le développeur prend indépendamment, au contraire, c'est toute la politique d'une entreprise qui entre en compte pour des modifications de cette sorte.C'est déjà énorme d'avoir pu convaincre mes patrons de faire la refonte du site, je ne tenterais jamais la refonte de la base et tout ce que celà impliquerez notament la modification en profondeur du backoffice qui est relativement conséquent.