Выполнять несколько функций вместе, не теряя производительности
У меня есть этот процесс, который должен сделать серию запросов, используя pl / pgsql:
--process:
SELECT function1();
SELECT function2();
SELECT function3();
SELECT function4();
Чтобы иметь возможность выполнить все за один вызов, я создал функцию процесса как таковую:
CREATE OR REPLACE FUNCTION process()
RETURNS text AS
$BODY$
BEGIN
PERFORM function1();
PERFORM function2();
PERFORM function3();
PERFORM function4();
RETURN 'process ended';
END;
$BODY$
LANGUAGE plpgsql
Проблема в том, что, когда я суммирую время, которое каждая функция занимает отдельно, общее время составляет 200 секунд, а время, в течение которого функцияprocess()
занимает больше часа!
Может быть, это проблема с памятью, но я не знаю, какая конфигурация наpostgresql.conf
я должен измениться.
БД работает на PostgreSQL 9.4, в Debian 8.