私は各行に対してトリガされる機能を持っています。これは、次の文があります。pgplsql関数を最適化する方法は?
SELECT DocDate
FROM Operation
WHERE Operation.ID = New.OperationID
INTO _DocDate;
EXECUTE PROCEDURE ChangeSaldo(_DocDate, ...);
各行は、我々はDocDate
をフェッチ親テーブルOperation
に属します。
は、我々はして各行に対するChangeSaldo
を実行する必要がある独自のすべての行が
ウィルPostgresは行ごとに、このSELECT
を実行するか、この文がキャッシュされますOperation
テーブル内の同じ行に属していることが保証されている_DocDate
?
キャッシュされていない場合は、SELECT
を最適化する方法があるので、一度だけ実行されますか?
はあなた 'SELECT'に各' DocDate'値に対して関数 'ChangeSaldo'を実行したいですか?.. Doneを –
@VaoTsunを言い換えてください。言い換えれば –
そのSELECTを繰り返し実行することは、理由があると無駄だと思うなら、そのロジックが最初にトリガに入るべきではないかもしれません。 –