From: | Niels Jespersen <NJN(at)dst(dot)dk> |
---|---|
To: | "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | cpu-intensive immutable function and parallel scan |
Date: | 2021-06-22 07:06:10 |
Message-ID: | c800b7a24a95419aaebf4e6ec31d8f57@dst.dk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello all
I have a cpu-intensive plpython3u function that computes a result on the value from a single column value from a simple select.This looks largely like this.
select function_name (t1.val1, 'constant1') from t1 where t1.p = '202012_1' and t1.val1 is not null;
The function is marked immutable and parallel safe.
The time spent in the function is quite substantial. The same execution plan for a query that invokes the funtion and a query that does not results in a 15-times slowdown. Explain analyze show that both queries use 5 parallel workers.
I think I could achieve some speedup by parallelizing further, distributing the cpu-work among additional workers. But, how do I achive that best?
In Oracle I would either use a parallel-hint or an alter session force parallel query parallel 8.
Regards Niels
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2021-06-22 07:09:50 | Re: cpu-intensive immutable function and parallel scan |
Previous Message | Stephan Knauss | 2021-06-22 05:58:02 | Re: Psql wants to use IP6 when connecting to self using tcp... |