PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Réduire le nombre de requêtes
Réduire le nombre de requêtes
Débuté par cedricle100, 23 mai 2017 15:09 - 5 réponses
Membre enregistré
10 messages
Posté le 23 mai 2017 - 15:09
Bonjour

N'étant pas familier avec WIndev, j'ai trouvé plus simple, dans un premier temps, de formuler des requêtes et sous requêtes afin d'obtenir le résultat escompté.
Finalement je me retrouve avec 6 requêtes et je souhaiterai diminuer le nombre.

Est ce vraiment utile de diminuer le nombre ?

Si oui comment faire sachant que j'ai les requêtes suivantes :
1 : calcul de la quantité facturé : afin de rapporter les frais de transports sur chaque ingrédients en fonction de son poids commandé
2 : Facture détail : détail de toute la facture + colonne requete 1
3 : calcul du prix unitaire des ingrédients
4 : sélection du dernier prix en fonction de la date
5 : Décomposition de la recette
6 : calcul du prix de la recette

merci de vote aide
Posté le 23 mai 2017 - 15:36
Bonjour,
Je ne vois pas comment on peut t'indiquer comment réduire le nombre de
requête sans voir les requêtes concernées, sans voir le schéma des tables
utilisées, sans aucune idée des données impliquées et du résultat attendu.

Frédéric.

"cedricle100" a écrit dans le message de groupe de discussion :
2017d3300e8fcd6790fc3d3aa4b160abf658@news.pcsoft.fr...

Bonjour

N'étant pas familier avec WIndev, j'ai trouvé plus simple, dans un premier
temps, de formuler des requêtes et sous requêtes afin d'obtenir le résultat
escompté.
Finalement je me retrouve avec 6 requêtes et je souhaiterai diminuer le
nombre.

Est ce vraiment utile de diminuer le nombre ?

Si oui comment faire sachant que j'ai les requêtes suivantes :
1 : calcul de la quantité facturé : afin de rapporter les frais de
transports sur chaque ingrédients en fonction de son poids commandé
2 : Facture détail : détail de toute la facture + colonne requete 1
3 : calcul du prix unitaire des ingrédients
4 : sélection du dernier prix en fonction de la date
5 : Décomposition de la recette
6 : calcul du prix de la recette

merci de vote aide
Membre enregistré
344 messages
Popularité : +24 (28 votes)
Posté le 25 mai 2017 - 13:48
Parfois il vaut mieux six petites plutôt qu'une grosse quoi qu'on dise.

Un requête importante est plus difficile à maitriser.

Dans ton cas il faut une requête qui parcoure l'ensemble de tes données
et pour un enregistrement effecteur une pu plusieurs requête qui effectue un traitement spécifique
il ne faut pas oublier pour chaque requête dite individuelle de la libérer après son utilisation
HExécuteRequête(MaRequeteGlobale)
pour TOUT MaRequeteGlobale
HExécuteRequête(MaRequeteCalculPrix)
pour TOUT MaRequeteCalculPrix
// mon traitement
FIN
HLibèreRequête(MaRequeteCalculPrix)
FIN
HLibèreRequête(MaRequeteGlobale)


--
Utiliser l'aide avant que l'on vous aide
Bon développement
Alain PETTITI (apettiti.cg06.fr)
Avec licence PCSOFT certifiée et abonnement LST
Je peux prendre la main avec teamwiever
Apprentissage Windev : http://apprentissagewindev.blogspot.fr
Membre enregistré
948 messages
Popularité : +30 (92 votes)
Posté le 26 mai 2017 - 01:14
Coucou,

Parfois il vaut mieux six petites plutôt qu'une grosse quoi qu'on dise. <== RhhoooooOoooOoo

Tu penses que tu peut ameliorer certain chose via les procedure stocké ?

https://doc.pcsoft.fr/?3044360 // OuiOui


--
Charly CanDo.
Forg en Nouvelle-Zélande ;-) - In üs we trust
Membre enregistré
2 571 messages
Popularité : +222 (260 votes)
Posté le 26 mai 2017 - 05:29
Je ne suis pas tout à fait d'accord avec six petites sont mieux qu'une grosse. C'est comme ça que dans une boîte j'ai vu des statistiques mettre 8h à sortir. Après avoir refait les requêtes dans le bons sens et supprimer les millions d'appels aux requêtes je suis passé à 6 secondes.

Il faut surtout réfléchir à ce que vont faire les requêtes. Si tu as 30 000 articles et que tu exécutes 30 000 fois la même requête alors qu'en un sul appel tu aurais récupéré tous les résultats alors c'est hyper pénalisant.

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Posté le 26 mai 2017 - 14:47
C'est vrai

maintenant, moi j'ai vu des grosses requêtes qui prenaient des plombes,
et que j'ai remplacées par 2 ou 3 petites requêtes bien conçues pour
avoir un résultat quasi instantané...

Tout dépend de la situation, des besoins, des données et de la logique
de l'application...

Il n'y a pas UNE SEULE réponse juste et simple à un problème aussi complexe.

L'optimisation est un métier complètement différent de l'écriture du
code, et ca demande une compréhension importante du fonctionnement des
systèmes, que ce soit windows, les compilateurs, ou les moteurs de bases
de données.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com

Le 5/25/2017 à 9:29 PM, Philippe SB a écrit :
Je ne suis pas tout à fait d'accord avec six petites sont mieux qu'une
grosse. C'est comme ça que dans une boîte j'ai vu des statistiques
mettre 8h à sortir. Après avoir refait les requêtes dans le bons sens et
supprimer les millions d'appels aux requêtes je suis passé à 6 secondes.

Il faut surtout réfléchir à ce que vont faire les requêtes. Si tu as 30
000 articles et que tu exécutes 30 000 fois la même requête alors qu'en
un sul appel tu aurais récupéré tous les résultats alors c'est hyper
pénalisant.

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique