PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Lenteur MySQL
Lenteur MySQL
Débuté par JCB, 28 mai 2024 11:00 - 4 réponses
Membre enregistré
12 messages
Posté le 28 mai 2024 - 11:00
Bonjour,

j'ai besoin d'aide car je ne suis pas assez calé pour optimiser ce traitement.

config dev : Windev 25 + MySQL 32bits + windows 10 i7 12Go
config test : Windev 25 + MySQL 64bits + windows 2019 32Go

quand je fais des tests de traitement sur mon PC cela prends 4 secondes et sur le serveur 60 secondes !!!!!
voici mon code :
POUR TOUTE LIGNE de TABLE_bilan
IMPORTTMP.CUSER = Cuser
IMPORTTMP.FORM = "BIL"
IMPORTTMP.CODECLT = sCodeClt
IMPORTTMP.NCOMPTE = TABLE_bilan.COL_Compte
IMPORTTMP.LIBCPT = TABLE_bilan.COL_Libelle
IMPORTTMP.MNTCREDIT = TABLE_bilan.COL_Credit
IMPORTTMP.MNTDEBIT = TABLE_bilan.COL_Debit
IMPORTTMP.DATEST = TABLE_bilan.COL_Date_Situation
IMPORTTMP.RAYON = TABLE_bilan.COL_Rouge
HAjoute(IMPORTTMP)
HRAZ(IMPORTTMP)
FIN


si vous avez une idée.
Merci d'avance.
JC
Posté le 28 mai 2024 - 11:46
Bonjour,

Tu peux essayer avec cette astuce de PCSoft :
https://blogs.pcsoft.fr/fr/accelerer-importation-massive-donnees-fichier-hfsql/400/read.awp

POUR TOUTE LIGNE de TABLE_bilan
HRAZ(IMPORTTMP)
IMPORTTMP.CUSER = Cuser
IMPORTTMP.FORM = "BIL"
IMPORTTMP.CODECLT = sCodeClt
IMPORTTMP.NCOMPTE = TABLE_bilan.COL_Compte
IMPORTTMP.LIBCPT = TABLE_bilan.COL_Libelle
IMPORTTMP.MNTCREDIT = TABLE_bilan.COL_Credit
IMPORTTMP.MNTDEBIT = TABLE_bilan.COL_Debit
IMPORTTMP.DATEST = TABLE_bilan.COL_Date_Situation
IMPORTTMP.RAYON = TABLE_bilan.COL_Rouge
//HAjoute(IMPORTTMP)
HEcrit(IMPORTTMP, HNbEnr(IMPORTTMP)+1)
FIN
HRéindexe(IMPORTTMP)
Membre enregistré
193 messages
Posté le 28 mai 2024 - 12:00
Bonjour

Petites remarques :

- Vous devriez commencer par HRAZ AVANT d'affecter les champs car HRAZ va notamment initialiser les valeurs par défaut.
- Vous devriez tester le retour de vos appel H...

Pour accélérer vous pouvez encadrer votre boucle dans une transaction ce qui va tout changer côté MySql. Et en cas d'erreur sur un appel H... vous pourriez annuler la transaction.

Mais bon 60 secondes vs 4s c'est un peu étrange

--
Côme, Clairinfo
Membre enregistré
193 messages
Posté le 28 mai 2024 - 12:15
NN12 a écrit :

Bonjour
C'est du MySql pas du HFSQL, je ne pense pas que cela s'applique

--
Côme, Clairinfo
Membre enregistré
4 111 messages
Posté le 28 mai 2024 - 18:29
Bonjour,
Passe déjà par un audit pour voir ce qui consomme le plus de ressource.
Après cela vient peut être de ton RSO.

--
Il y a peut être plus simple, mais, ça tourne