Désolé mais quand je vois ta requete je comprends maintenant les personnes
qui pensent qu'avec une requete on peut tout résoudre :-(
Désolé mais quand je vois ta requete je comprends maintenant les personnes
qui pensent qu'avec une requete on peut tout résoudre :-(
Désolé mais quand je vois ta requete je comprends maintenant les personnes
qui pensent qu'avec une requete on peut tout résoudre :-(
> select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
> select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
> select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
ARTICLES left outer join FAMILLE C on (C.NUMCAT = A.NUMCAT and C.NUMFAM > A.NUMFAM)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
L'application n'utilise pas - pour l'instant - d'accès SQL mais des ordres
H* et des vues. Les performances se sont degradees avec la migration vers
WD8 sans avoir modifie les methodes d'acces aux fichiers.
Les exemples de code SQL que j'avais transmis etaient destines a l'edition
des etats.
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
Unquote...
Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
Ensuite, d'abord joindre, après appliquer les conditions.
?! je ne vois pas comment construire cette requete autrement (je ne suis pas
un specialiste je l'avoue). Je veux tous tuples de OL non termines qui ont
un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y compris
ceux dont OLPROLG.ARCLEUNIK=0 !?
Je ne comprends pas "jointures externes chainées", mais ...
Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES et
ARTICLES left outer join ... (nota: je crois que cette requete fonctionnait
avec HF5)
"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice >>InvoiceDetail.IDInvoice, "+...
je vais etudier ce code... mais je croyais que le right outer join n'etait
pas supprote par WD8
L'application n'utilise pas - pour l'instant - d'accès SQL mais des ordres
H* et des vues. Les performances se sont degradees avec la migration vers
WD8 sans avoir modifie les methodes d'acces aux fichiers.
Les exemples de code SQL que j'avais transmis etaient destines a l'edition
des etats.
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
Unquote...
Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
Ensuite, d'abord joindre, après appliquer les conditions.
?! je ne vois pas comment construire cette requete autrement (je ne suis pas
un specialiste je l'avoue). Je veux tous tuples de OL non termines qui ont
un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y compris
ceux dont OLPROLG.ARCLEUNIK=0 !?
Je ne comprends pas "jointures externes chainées", mais ...
Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES et
ARTICLES left outer join ... (nota: je crois que cette requete fonctionnait
avec HF5)
"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice >>InvoiceDetail.IDInvoice, "+...
je vais etudier ce code... mais je croyais que le right outer join n'etait
pas supprote par WD8
L'application n'utilise pas - pour l'instant - d'accès SQL mais des ordres
H* et des vues. Les performances se sont degradees avec la migration vers
WD8 sans avoir modifie les methodes d'acces aux fichiers.
Les exemples de code SQL que j'avais transmis etaient destines a l'edition
des etats.
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> fonctionne
Unquote...
Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
Ensuite, d'abord joindre, après appliquer les conditions.
?! je ne vois pas comment construire cette requete autrement (je ne suis pas
un specialiste je l'avoue). Je veux tous tuples de OL non termines qui ont
un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y compris
ceux dont OLPROLG.ARCLEUNIK=0 !?
Je ne comprends pas "jointures externes chainées", mais ...
Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES et
ARTICLES left outer join ... (nota: je crois que cette requete fonctionnait
avec HF5)
"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice >>InvoiceDetail.IDInvoice, "+...
je vais etudier ce code... mais je croyais que le right outer join n'etait
pas supprote par WD8
I.G.LOG wrote:
> L'application n'utilise pas - pour l'instant - d'accès SQL mais des
> H* et des vues. Les performances se sont degradees avec la migration
> WD8 sans avoir modifie les methodes d'acces aux fichiers.
> Les exemples de code SQL que j'avais transmis etaient destines a
> des etats.
J'ai entendu qu'il y a des problèmes de ralentissements avec les filtres
, mais je n'ai rien à reprocher à la vitesse des commands H...
Les vues je les avais utilisées sous WD5.5 mais dans nos tests avec WD
7.5 elles n'étaient pas plus vite que les requêtes. Alors nous nous
sommes décidés pour les requêtes puisque l'usage est plus simple. Il y a
pourtant des gens pour qui disent que pour eux, les vues travaillent
>>select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
>>OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
>>where O.TERMINE = 0
>>and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
>>L.NUMCONTROLE = O.NUMCONTROLE)
>>and (P.PRCLEUNIK = L.NUMERO)
>>-> fonctionne
>>Unquote...
>>
>>Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
>>JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
>>pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
>>Ensuite, d'abord joindre, après appliquer les conditions.
>>
>
>
> ?! je ne vois pas comment construire cette requete autrement (je ne suis
> un specialiste je l'avoue). Je veux tous tuples de OL non termines qui
> un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y
> ceux dont OLPROLG.ARCLEUNIK=0 !?
>
Je ne suis non plus un expert SQL, mais pour avoir des résultat
acceptables il faut s'occuper du code.
Il n'y a pas de liaiason entre L et O, repésenté dans le WHERE avec
NumControle, et non plus pour les fichiers P et L. Le suivant devrait
correspondre à ton code et être conforme avec les "préférences" de HF7:
FROM OLPROLG L LEFT OUTER JOIN ARTICLES A ON (A.ARCLEUNIK = L.ARCLEUNIK),
OL O INNER JOIN L ON O.NumControle = L.Numcontrole,
PRESTAT P INNER JOIN L ON P.PrCleUnik = L.Numero
WHERE O.Termine = 0 AND L.NumGrp = 128 AND L.NumPha = 124
... donc d'abord les JOIN, après les WHERE...
pour le reste, il faut souvent faire plusieures essais avec le
positionnement des fichiers dans l'instruction SQL. Je n'ai pas été
capable de trouver des règles claires à suivre.
>>
>>Je ne comprends pas "jointures externes chainées", mais ...
>
>
> Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES
> ARTICLES left outer join ... (nota: je crois que cette requete
> avec HF5)
OK, il faut renommer le fichier, comme j'ai fait avec Address dans mon
exemple.
>
>
>>"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice > >>InvoiceDetail.IDInvoice, "+...
>
> je vais etudier ce code... mais je croyais que le right outer join
> pas supprote par WD8
RIGHT OUTER JOIN fonctionne depuis longtemps dans WD7.5 et ça
m'étonnerais qu'ils l'auraient enlevé dans la 8. D'autre part, pour des
cas pareils, on peut changer le tout dans les LEFT OUTER JOIN, suffit de
changer la position des fichiers.
En ce qui concerne des OUTER JOIN, j'ai tendance à ne les faire que dans
une direction, donc que des LEFT ou des RIGHT. Peut-être pas important,
mais il y a tellement de ponderables avec les requêtes...
Bonne chance.
I.G.LOG wrote:
> L'application n'utilise pas - pour l'instant - d'accès SQL mais des
> H* et des vues. Les performances se sont degradees avec la migration
> WD8 sans avoir modifie les methodes d'acces aux fichiers.
> Les exemples de code SQL que j'avais transmis etaient destines a
> des etats.
J'ai entendu qu'il y a des problèmes de ralentissements avec les filtres
, mais je n'ai rien à reprocher à la vitesse des commands H...
Les vues je les avais utilisées sous WD5.5 mais dans nos tests avec WD
7.5 elles n'étaient pas plus vite que les requêtes. Alors nous nous
sommes décidés pour les requêtes puisque l'usage est plus simple. Il y a
pourtant des gens pour qui disent que pour eux, les vues travaillent
>>select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
>>OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
>>where O.TERMINE = 0
>>and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
>>L.NUMCONTROLE = O.NUMCONTROLE)
>>and (P.PRCLEUNIK = L.NUMERO)
>>-> fonctionne
>>Unquote...
>>
>>Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
>>JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
>>pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
>>Ensuite, d'abord joindre, après appliquer les conditions.
>>
>
>
> ?! je ne vois pas comment construire cette requete autrement (je ne suis
> un specialiste je l'avoue). Je veux tous tuples de OL non termines qui
> un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y
> ceux dont OLPROLG.ARCLEUNIK=0 !?
>
Je ne suis non plus un expert SQL, mais pour avoir des résultat
acceptables il faut s'occuper du code.
Il n'y a pas de liaiason entre L et O, repésenté dans le WHERE avec
NumControle, et non plus pour les fichiers P et L. Le suivant devrait
correspondre à ton code et être conforme avec les "préférences" de HF7:
FROM OLPROLG L LEFT OUTER JOIN ARTICLES A ON (A.ARCLEUNIK = L.ARCLEUNIK),
OL O INNER JOIN L ON O.NumControle = L.Numcontrole,
PRESTAT P INNER JOIN L ON P.PrCleUnik = L.Numero
WHERE O.Termine = 0 AND L.NumGrp = 128 AND L.NumPha = 124
... donc d'abord les JOIN, après les WHERE...
pour le reste, il faut souvent faire plusieures essais avec le
positionnement des fichiers dans l'instruction SQL. Je n'ai pas été
capable de trouver des règles claires à suivre.
>>
>>Je ne comprends pas "jointures externes chainées", mais ...
>
>
> Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES
> ARTICLES left outer join ... (nota: je crois que cette requete
> avec HF5)
OK, il faut renommer le fichier, comme j'ai fait avec Address dans mon
exemple.
>
>
>>"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice > >>InvoiceDetail.IDInvoice, "+...
>
> je vais etudier ce code... mais je croyais que le right outer join
> pas supprote par WD8
RIGHT OUTER JOIN fonctionne depuis longtemps dans WD7.5 et ça
m'étonnerais qu'ils l'auraient enlevé dans la 8. D'autre part, pour des
cas pareils, on peut changer le tout dans les LEFT OUTER JOIN, suffit de
changer la position des fichiers.
En ce qui concerne des OUTER JOIN, j'ai tendance à ne les faire que dans
une direction, donc que des LEFT ou des RIGHT. Peut-être pas important,
mais il y a tellement de ponderables avec les requêtes...
Bonne chance.
I.G.LOG wrote:
> L'application n'utilise pas - pour l'instant - d'accès SQL mais des
> H* et des vues. Les performances se sont degradees avec la migration
> WD8 sans avoir modifie les methodes d'acces aux fichiers.
> Les exemples de code SQL que j'avais transmis etaient destines a
> des etats.
J'ai entendu qu'il y a des problèmes de ralentissements avec les filtres
, mais je n'ai rien à reprocher à la vitesse des commands H...
Les vues je les avais utilisées sous WD5.5 mais dans nos tests avec WD
7.5 elles n'étaient pas plus vite que les requêtes. Alors nous nous
sommes décidés pour les requêtes puisque l'usage est plus simple. Il y a
pourtant des gens pour qui disent que pour eux, les vues travaillent
>>select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
>>OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
>>where O.TERMINE = 0
>>and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
>>L.NUMCONTROLE = O.NUMCONTROLE)
>>and (P.PRCLEUNIK = L.NUMERO)
>>-> fonctionne
>>Unquote...
>>
>>Ce code n'est pas optimal pour HF7 car il combine une jointure par OUTER
>>JOIN et un autre par WHERE. Pour une meilleure performance, il ne faut
>>pas utiliser WHERE pour les jointures lorsqu'il y en a plusieurs.
>>Ensuite, d'abord joindre, après appliquer les conditions.
>>
>
>
> ?! je ne vois pas comment construire cette requete autrement (je ne suis
> un specialiste je l'avoue). Je veux tous tuples de OL non termines qui
> un tuple OLPROLG (satisfaisant a la condition NUMGRP et NUMPHA) y
> ceux dont OLPROLG.ARCLEUNIK=0 !?
>
Je ne suis non plus un expert SQL, mais pour avoir des résultat
acceptables il faut s'occuper du code.
Il n'y a pas de liaiason entre L et O, repésenté dans le WHERE avec
NumControle, et non plus pour les fichiers P et L. Le suivant devrait
correspondre à ton code et être conforme avec les "préférences" de HF7:
FROM OLPROLG L LEFT OUTER JOIN ARTICLES A ON (A.ARCLEUNIK = L.ARCLEUNIK),
OL O INNER JOIN L ON O.NumControle = L.Numcontrole,
PRESTAT P INNER JOIN L ON P.PrCleUnik = L.Numero
WHERE O.Termine = 0 AND L.NumGrp = 128 AND L.NumPha = 124
... donc d'abord les JOIN, après les WHERE...
pour le reste, il faut souvent faire plusieures essais avec le
positionnement des fichiers dans l'instruction SQL. Je n'ai pas été
capable de trouver des règles claires à suivre.
>>
>>Je ne comprends pas "jointures externes chainées", mais ...
>
>
> Ce que j'entend par jointure chainees: OLPROLG left outer join ARTICLES
> ARTICLES left outer join ... (nota: je crois que cette requete
> avec HF5)
OK, il faut renommer le fichier, comme j'ai fait avec Address dans mon
exemple.
>
>
>>"FROM Invoice INNER JOIN InvoiceDetail ON Invoice.IDInvoice > >>InvoiceDetail.IDInvoice, "+...
>
> je vais etudier ce code... mais je croyais que le right outer join
> pas supprote par WD8
RIGHT OUTER JOIN fonctionne depuis longtemps dans WD7.5 et ça
m'étonnerais qu'ils l'auraient enlevé dans la 8. D'autre part, pour des
cas pareils, on peut changer le tout dans les LEFT OUTER JOIN, suffit de
changer la position des fichiers.
En ce qui concerne des OUTER JOIN, j'ai tendance à ne les faire que dans
une direction, donc que des LEFT ou des RIGHT. Peut-être pas important,
mais il y a tellement de ponderables avec les requêtes...
Bonne chance.
Après essais:
select O.OLCLEUNIK, O.TYPEPRE, P.PRCLEUNIK from PRESTAT P,
OL O inner join OLPROLG L on (O.NumControle = L.Numcontrole and L.NumGrp > 128 AND L.NumPha = 124),
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
PRESTAT P inner join OLPROLG L on P.PrCleUnik = L.Numero
WHERE O.Termine = 0
-> temps d'exécution infini ?! (j'ai arrete apres 30 secondes)
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> s'exécute en 4s56 (ce qui est beaucoup trop d'ailleurs)
Merci de t'etre penche sur le probleme
Phil
Après essais:
select O.OLCLEUNIK, O.TYPEPRE, P.PRCLEUNIK from PRESTAT P,
OL O inner join OLPROLG L on (O.NumControle = L.Numcontrole and L.NumGrp > 128 AND L.NumPha = 124),
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
PRESTAT P inner join OLPROLG L on P.PrCleUnik = L.Numero
WHERE O.Termine = 0
-> temps d'exécution infini ?! (j'ai arrete apres 30 secondes)
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> s'exécute en 4s56 (ce qui est beaucoup trop d'ailleurs)
Merci de t'etre penche sur le probleme
Phil
Après essais:
select O.OLCLEUNIK, O.TYPEPRE, P.PRCLEUNIK from PRESTAT P,
OL O inner join OLPROLG L on (O.NumControle = L.Numcontrole and L.NumGrp > 128 AND L.NumPha = 124),
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK),
PRESTAT P inner join OLPROLG L on P.PrCleUnik = L.Numero
WHERE O.Termine = 0
-> temps d'exécution infini ?! (j'ai arrete apres 30 secondes)
select O.OLCLEUNIK, O.TYPEPRE, L.NUMERO from OL O, PRESTAT P,
OLPROLG L left outer join ARTICLES A on (A.ARCLEUNIK = L.ARCLEUNIK)
where O.TERMINE = 0
and (L.OLCLEUNIK = O.OLCLEUNIK and L.NUMGRP = 128 and L.NUMPHA = 124 and
L.NUMCONTROLE = O.NUMCONTROLE)
and (P.PRCLEUNIK = L.NUMERO)
-> s'exécute en 4s56 (ce qui est beaucoup trop d'ailleurs)
Merci de t'etre penche sur le probleme
Phil
Manu wrote:
> Désolé mais quand je vois ta requete je comprends maintenant les personnes
> qui pensent qu'avec une requete on peut tout résoudre :-(
Bonjour Manu,
C'est encore une particularité de HF7: une seule requête est beaucoup
plus vite que des requêtes enchaînées. Avec d'autres BD je faisais
plusieures étappes pour arriver à un tel résultat. Borland disait
toujours: des petites requêtes enchainées sont plus rapides qu'une seule
requête monstrueuse. Seulement, ici on a à voir avec PCS et sur HF7 ceci
donne des performances lamentables. Ce qui est triste de la part de PCS
était de dire aux clients: "...aucun problème, la migration de 5.5 à
7.5/8 se fait prèsque toute seule..." ou "...la 8 résoud tout les
problèmes...". Je n'ai plus touchés à mes applis 5.5 quand j'ai vu les
premières problèmes de migration. A mon avis il faut totalement repenser
un projet.
Manu wrote:
> Désolé mais quand je vois ta requete je comprends maintenant les personnes
> qui pensent qu'avec une requete on peut tout résoudre :-(
Bonjour Manu,
C'est encore une particularité de HF7: une seule requête est beaucoup
plus vite que des requêtes enchaînées. Avec d'autres BD je faisais
plusieures étappes pour arriver à un tel résultat. Borland disait
toujours: des petites requêtes enchainées sont plus rapides qu'une seule
requête monstrueuse. Seulement, ici on a à voir avec PCS et sur HF7 ceci
donne des performances lamentables. Ce qui est triste de la part de PCS
était de dire aux clients: "...aucun problème, la migration de 5.5 à
7.5/8 se fait prèsque toute seule..." ou "...la 8 résoud tout les
problèmes...". Je n'ai plus touchés à mes applis 5.5 quand j'ai vu les
premières problèmes de migration. A mon avis il faut totalement repenser
un projet.
Manu wrote:
> Désolé mais quand je vois ta requete je comprends maintenant les personnes
> qui pensent qu'avec une requete on peut tout résoudre :-(
Bonjour Manu,
C'est encore une particularité de HF7: une seule requête est beaucoup
plus vite que des requêtes enchaînées. Avec d'autres BD je faisais
plusieures étappes pour arriver à un tel résultat. Borland disait
toujours: des petites requêtes enchainées sont plus rapides qu'une seule
requête monstrueuse. Seulement, ici on a à voir avec PCS et sur HF7 ceci
donne des performances lamentables. Ce qui est triste de la part de PCS
était de dire aux clients: "...aucun problème, la migration de 5.5 à
7.5/8 se fait prèsque toute seule..." ou "...la 8 résoud tout les
problèmes...". Je n'ai plus touchés à mes applis 5.5 quand j'ai vu les
premières problèmes de migration. A mon avis il faut totalement repenser
un projet.
>
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
>
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
>
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
je suis exactement dans ce cas: j'ai mis 6 mois à migrer ce projet et je me
demande combien de temps il me faudra encore pour retrouver des performances
correctes, au moins identiques a celles que j'avais avec WD5. Je n'ai pas
encore chiffré ces travaux ... et j'ai l'impression que mon client ne va pas
apprecier mes conclusions ! Et pourtant, pour les projets en cours de
developpement, est-ce une bonne strategie de rester en 5.5: version qui
n'est plus maintenue, fonctionnalites "depassees" etc, etc...
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
je suis exactement dans ce cas: j'ai mis 6 mois à migrer ce projet et je me
demande combien de temps il me faudra encore pour retrouver des performances
correctes, au moins identiques a celles que j'avais avec WD5. Je n'ai pas
encore chiffré ces travaux ... et j'ai l'impression que mon client ne va pas
apprecier mes conclusions ! Et pourtant, pour les projets en cours de
developpement, est-ce une bonne strategie de rester en 5.5: version qui
n'est plus maintenue, fonctionnalites "depassees" etc, etc...
Par contre, tout repenser avec les dernières fonctionnalités offertes
fonctionne bien mieux (du genre il me fallait 3 secondes en 5,5 et ça
ce fait en 1 seconde en 7,5... d'accord, j'ai bossé 1 semaine pour
obtenir ce résultat...), et là (ou las, comme on veut) le très gros
problème est que refaire un travail de plusieurs mois homme, les
clients n'aiment pas vraiment... (Pourtant je trouve ça rigolo pour ma
part...)
je suis exactement dans ce cas: j'ai mis 6 mois à migrer ce projet et je me
demande combien de temps il me faudra encore pour retrouver des performances
correctes, au moins identiques a celles que j'avais avec WD5. Je n'ai pas
encore chiffré ces travaux ... et j'ai l'impression que mon client ne va pas
apprecier mes conclusions ! Et pourtant, pour les projets en cours de
developpement, est-ce une bonne strategie de rester en 5.5: version qui
n'est plus maintenue, fonctionnalites "depassees" etc, etc...
J'ai quelque fois besoin de retourner en 5.5, quelle horreur !
Je pense pour ma part que l'on ne peut pas rester en 5.5 pour une
appli importante.
J'ai quelque fois besoin de retourner en 5.5, quelle horreur !
Je pense pour ma part que l'on ne peut pas rester en 5.5 pour une
appli importante.
J'ai quelque fois besoin de retourner en 5.5, quelle horreur !
Je pense pour ma part que l'on ne peut pas rester en 5.5 pour une
appli importante.