goldrazor Posté 6 Juin 2006 Posté 6 Juin 2006 Bonjour, Voila j'ai une question qui me trotte dans la tete depuis un certain temps et je vais vous en faire part. Mon site affiche défois le message "too many connection to database mysql ..." enfin un trucs dans le genre. Mn site est fait de maniere a ce que chaque include se connecte elle meme a la base. Donc si dans ma page ya 6 include, la base s'ouvre et se ferme 6 fois par rafraichissement. Je me pose la question suivante : Est il possible de faire en sorte d'ouvrir la base une fois, de charger toutes les requete (pour les include) et de refermer la base un fois que ces operation sont fini ? Ce qui allegerer le nombre de connection à la base. Je sais pas si j'ai été clair mais si vous avez une solution, merci de me la soumettre. A bientot
cyberlaura Posté 6 Juin 2006 Posté 6 Juin 2006 Bonjour, effectivement, le nombre de connexions à la base va bien s'alléger, mais pour autant, le temps de connexion sera plus long puisque la base sera ouverte du début à la fin du code. Cela risque de ne pas résoudre le problème. Par contre, s'agit-il d'un serveur dédié ou mutualisé ? Dans le premier cas, il est possible de modifier les paramètres d'accès de manière à ne plus avoir ces erreurs. Dans le second cas, le succès du site appelle peut-être un changement d'abonnement de manière à avoir plus de connexions simultanées possibles...
astrofiles Posté 6 Juin 2006 Posté 6 Juin 2006 (modifié) Bonjour, Si ton php principal établi la connexion à ta base de donnée, celle ci sera disponible dans tes sources inclus ce qui t'éviteras de le faire pour chaque include... Penser aussi à faire des mysql_free_result pour libérer la connexion , c'est plus propre et plus sur edit : imprécision de ma part : mysql_free_result ne libère pas ta connexion mais les ressources utilisées sur cette connexion, après un mysql_fetch_array par exemple ) Modifié 6 Juin 2006 par astrofiles
goldrazor Posté 8 Juin 2006 Auteur Posté 8 Juin 2006 merci pour vos reponses, je vais donc suivre le conseil de laura et rester comme ca. J'investisserai dans un mutualisé avec + de requete simultanée. ++
captain_torche Posté 9 Juin 2006 Posté 9 Juin 2006 D'ailleurs, côté performances, vaut-il mieux ouvrir/fermer la base à chaque requête, ou bien l'ouvrir en début de script, et la fermer à la fin ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant