Bonjour,
Soit un script contenant plusieurs requêtes, certaines obligatoires, d'autres exécutées suivant la situation. À l'heure actuelle, la connexion à la base MySQL n'est jamais fermée. Les requêtes obligatoires sont généralement exécutées au début, puis suivant les conditions remplies, d'autres requêtes sont exécutées un peu plus loin.
Je souhaite optimiser le code, 3 choix s'offrent à moi :
- Je laisse le code tel quel en fermant la connexion MySQL après chaque requête, et je reconnecte avant chaque nouvelle requête à exécuter. Ce que je crains avec ce genre de pratique, c'est qu'étant limité à 10 connexions MySQL en même temps, la connexion soit possible à un moment du script, puis qu'à la requête suivante, il y ait trop de monde connecté et que ça bloque l'exécution du script à plusieurs endroits.
- Deuxième possibilité, j'exécute toutes les requêtes en début de script, y compris celles non indispensables. Le serveur exécute donc certaines fois des requêtes inutiles, ce qui lui fait perdre du temps, mais libère rapidement la connexion. Un autre problème se pose, tous les paramètres nécessaires à la création de la requête ne sont peut être pas encore disponibles.
- Dernière possibilité, je revois tout le code afin de concentrer au maximum toutes les requêtes. Dans ce cas, je ne suis pas assuré de pouvoir optimiser mon code afin de les concentrer suffisamment, et je ne dispose pas obligatoirement du temps nécessaire pour faire ce travail !
Il n'y a pas de solution miracle, et vos réponses peuvent dépendre en grande partie de l'organisation de mon code, de mes requêtes, et de l'importance des différentes tables traitées. Je n'attends pas à proprement parler de solution définitives, mais plutôt vos sentiments, des principes qui pourraient m'aider à optimiser.
Merci pour votre attention, et vos éventuels conseils !
Guillaume
Partager