Bonjour sergio,
Franchement j'y comprend rien, hier l’exécution était très lente mais ce matin on voulant te fournir les statistiques flamrobin comme par miracle ça va vite
pour la commande sql
update pro set matqte='01' where num='001'
Executing...
Done.
131894 fetches, 34644 marks, 518 reads, 542 writes.
0 inserts, 6378 updates, 0 deletes, 6429 index, 0 seq.
Delta memory: 6322628 bytes.
PRO: 6378 updates.
6378 rows affected directly.
Total execution time: 0.434s
Script execution finished.
et on exposant le premier code sql, je voulais arriver à une autre procédure qui est encore plus lente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| SET TERM ^ ;
CREATE PROCEDURE STKCOMP (
NUM1 Varchar(10),
CHE Varchar(300) )
RETURNS (
I Varchar(1) )
AS
declare variable pro1 varchar(20);
declare variable qta numeric(14,5);
declare variable qtv numeric(14,5);
BEGIN
for execute statement 'select pro, sum(qte) as qta, (select sum(qte) from ven where ven.pro=ach.pro) as qtv from ach group by pro' ON EXTERNAL DATA SOURCE :che AS USER 'sysdba' PASSWORD 'masterkey' into :pro1,:qta,:qtv do
begin
if (qta>qtv) then
begin UPDATE PRO set matqte='OUI' where (pro=:pro1); end
else begin UPDATE PRO set matqte='NON' where (pro=:pro1);end
end
i='0';
suspend;
END^
SET TERM ; ^
GRANT EXECUTE
ON PROCEDURE STKCOMP TO SYSDBA; |
dans cette procédure on utilise 2 bases de données différente. l’exécution est encore plus lente et je ne sais pas si il ya une amélioration à faire sur le code
Partager