J'ai une fonction qui est déclenchée pour chaque ligne. Il a des déclarations suivantes:Comment optimiser la fonction pgplsql?
SELECT DocDate
FROM Operation
WHERE Operation.ID = New.OperationID
INTO _DocDate;
EXECUTE PROCEDURE ChangeSaldo(_DocDate, ...);
Chaque ligne appartient à table parent Operation
où nous récupérons DocDate
.
Nous avons besoin d'exécuter ChangeSaldo
pour chaque ligne avec sa propre _DocDate
qui est garanti que toutes les lignes appartiennent à une même ligne dans Operation
tableau
Will Postgres exécuter cette SELECT
pour chaque ligne ou cette déclaration seront mises en cache?
S'il n'est pas mis en cache, est-il possible d'optimiser SELECT
afin qu'il ne soit exécuté qu'une seule fois?
ce que vous voulez exécuter la fonction 'ChangeSaldo' à chaque valeur' 'DocDate' dans votre select'? .. S'il vous plaît reformulez –
@VaoTsun Terminé. Rephrased –
Si vous pensez que l'exécution répétée de SELECT est un gaspillage, avec raison, peut-être que cette logique ne devrait pas être dans un déclencheur en premier lieu. –