PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Méthode la plus performante pour trouver un enregistrement ?
Méthode la plus performante pour trouver un enregistrement ?
Started by Dergen, Sep., 20 2018 10:26 PM - 4 replies
Registered member
329 messages
Popularité : +28 (32 votes)
Posted on September, 20 2018 - 10:26 PM
Bonsoir,

Je dois (dans une boucle qui parcours un ensemble de fichier XML), rechercher pour certaine balises particulières des données complémentaire propre à chaque balise depuis une table ORACLE.

Si dans ma boucle j’execute (a chaque itération) ma requête parametrés, le programme est fortement ralenti par cette accumulation de requêtes.

J’ai cherché à optimiser le traitement en faisant en amont une requête globale et dans chaque itération de ma boucle, j’execute Un HRecherche afin de trouver mes données complèmentaire, il y a du mieux en terme de temps de traitement mais c’est loin d’etre folichon...

Avez-vous une idée qui me permettrait d’optimise ma boucle ?
Registered member
299 messages
Popularité : +16 (16 votes)
Posted on September, 21 2018 - 8:45 AM
Un moyen que j'utilise dans ce genre de cas est le suivant :

Dans un premier temps je construis une chaine contenant les identifiants des lignes à extraire:
J'obtiens donc une chaine de type : LC_Liste = "25,32,63,93,etc"
A partir de là je fais ma requète d'extraction
LC_SQL = "select Champ1, Champ2 from MaTable where ID in (" + LC_Liste + "')"

Une fois la requète exécutée je construis un tableau avec les données récupérées
Le reste du traitement s'exécute en mémoire.
Registered member
281 messages
Popularité : +24 (26 votes)
Posted on September, 21 2018 - 10:27 AM
Bonjour,

Pourquoi ne pas stocker les résultats dans un tableau ?
Registered member
299 messages
Popularité : +16 (16 votes)
Posted on September, 21 2018 - 11:16 AM
"Pourquoi ne pas stocker les résultats dans un tableau "

C'est ce que j'ai proposé.
Pour remplir le tableau il faut ne sélectionner QUE les valeurs utiles
Registered member
329 messages
Popularité : +28 (32 votes)
Posted on September, 22 2018 - 11:34 PM
Je sélectionne déjà les données utile avec ma requête paramètrés.

C’est la localisation dedans que je cherche à optimiser, parceque HRecherche est pas optimum dans une boucle.
Message modified, September, 22 2018 - 11:36 PM