PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Accès mysql
Accès mysql
Iniciado por roumegou, 19,feb. 2020 18:24 - 3 respuestas
Publicado el 19,febrero 2020 - 18:24
Bonjour,

je pense que c'est d'avantage un pb mysql mais peut être aurez-vous une
idée ?

Je travaille avec des bases mysql que j'attaque avec des webservices
(webdev), des sites web (webdev) et des outils d'administration
(windev)

J'ai remarqué, notamment dans windev, que quand je suis connecté à ma
base les temps de réponses de mes requetes sont OK. Mais si j'ai une
inactivité de plusieurs minutes sur mon écran (je reviens après un 1/4
d'heures par exemple), ma première requête, aussi simple soit-elle va
prendre plusieurs secondes. Réexecutée tout de suite, mon résultat
arrive immédiatement.(même si je sais que mysql gère du cache, la
différence de temps n'est pas comparable)

Bref c'est comme s'il fallait "réveiller" la connexion (qui pourtant
est encore active).
Je précise que ce phénomène n'était pas comme cela il y a quelques
mois.
J'avais cru à un pb de résolution DNS mais à priori mon hébergeur a
vérifié, ce n'est pas cela.

Avez vous déjà rencontré ce type de phénomène et avez vous des
solutions ?
je vous remercie par avance.

--
Roumegou Eric
Miembro registrado
194 mensajes
Publicado el 20,febrero 2020 - 11:34
Bonjour

Pour ma part afin d'éviter les connexions déconnexion à la base j'ai une procédure en timer toutes les 10 mn qui exécute une petite requête SQL demandant juste la date ou l'heure (j'ai un doute mais peu importe) au serveur MySQL / MariaDb. Du coup plus de déconnexion et plus de souci pour ma part. Je ne sais pas si ceci peut s'adapter à ta situation.

--
Côme, Clairinfo
Publicado el 21,febrero 2020 - 10:12
"Côme" avait énoncé :
Bonjour

Pour ma part afin d'éviter les connexions déconnexion à la base j'ai une
procédure en timer toutes les 10 mn qui exécute une petite requête SQL
demandant juste la date ou l'heure (j'ai un doute mais peu importe) au
serveur MySQL / MariaDb. Du coup plus de déconnexion et plus de souci pour ma
part. Je ne sais pas si ceci peut s'adapter à ta situation.


Bonjour,
je te remercie beaucoup pour ta réponse.
C'est effectivement une idée.
Nous ferons des essais prochainement.

--
Roumegou Eric
Miembro registrado
194 mensajes
Publicado el 21,febrero 2020 - 11:27
Bonjour

Concrètement dans ma classe "Application" j'ai cela :

// Procédure automatique :
// La procédure est exécutée manuellement, lors d'un appel dans le code
// Elle sera répétée en boucle, en attendant 10 minutes entre chaque appel
// Chaque appel suivant exécute une seule fois la procédure, sans timer
//
Procedure KeepAliveDBConnexion()
SI m_nNumConnexion > 0 ALORS
// Requête lancée régulièrement qui permet de ne garder qu'une connexion toujours active
sSQL est une chaîne
sSQL = "SELECT NOW()"
SQLExecQuery(sSQL,"QKeepAlive")
SQLFerme("QKeepAlive")
FIN


Et à l'ouverture de la fiche menu je lance :
// Connexion permanente à la base
Appli.KeepAliveDBConnexion() // Appli pointe sur ma classe Application

Ce qui enclenche la procédure automatique (au sens windev)

--
Côme, Clairinfo