Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Mon idée ? C'est le code que t'as publié :
La meilleure solution :
Code (Text):
UPDATE COMMANDE_FOUR SET COMMANDE_FOUR.QT_TOT_LIVRE =
(
SELECT
SUM(COMMANDE_FOUR_COM.QT_LIVRE) AS SUM_QT_LIVRE
FROM
COMMANDE_FOUR_COM
WHERE
COMMANDE_FOUR.CLE_C = COMMANDE_FOUR_COM.CLE_C
)
,
COMMANDE_FOUR.QT_TOT =
(
SELECT
SUM(COMMANDE_FOUR_COM.QT_COMMANDE) AS SUM_QT_COMMANDE
FROM
COMMANDE_FOUR_COM
WHERE
COMMANDE_FOUR_COM.CLE_C = COMMANDE_FOUR.CLE_C
)
Cliquez pour agrandir...
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
AIDE Quelle méthode vous préférez ? POUR TOUT ... AVEC ou HlitPremier ;
Discussion dans 'Windev' créé par aminej76, Juin 13, 2018.
Tags:
Dans ma foulosophie de programmation et reponse brute comme cela, je partirais pour la solution de cas (POUR TOUT). Moi a priori je base toujours ma decision sur une requite prealablement etablie que d'attaquer la table diretement. Je vous assure qu'ave une table de 100.000 enregistrement vous sentirez tout de suite la difference. Maintenant je n'utiliserais pas pour tout si je cherche juste une entite dans la table, in specific record car je n'ai pas besoin de parcourir toute la table. Maintenant dans ton cas comme l;on parle de quantite alors je pars pour la solution POUR TOUT.
A+
aminej76 apprécie ceci.
Gemini1961
Well-Known Member
MEMBRE WX
DUMP TEAM
Serais-je le seul à préférer HLitPremier ?
:-DCliquez pour agrandir...
en fait, ca depend.
- sur les grosses tables et les update en masse, je prefere le sql
- sur les parcours tordus avec des updates en cascade, je prefere le hlitpremier/hlitsuivant
-sur les remplissage de table mémoire, le pour tout.
en fait, en fonction des volumes à traiter ( lecture, lecture/ecriture, ecriture) j'adapte à ce qui est le plus performant

pourquoi, me direz-vous ?
- les ecritures de masse ( update) sont plus performantes en sql ( pas d'aller/retour des données)
- le pour tout est performant en lecture selon un index
- le hlitpremier/hlitsuivant permet de modifier l'etat de la table en cours de parcours ( suppression d'enregistrement, modification de la clé d'index, etc)
a chaque instruction son interet...
Gemini1961 apprécie ceci.