cpu-intensive immutable function and parallel scan - Mailing list pgsql-general

From Niels Jespersen
Subject cpu-intensive immutable function and parallel scan
Date
Msg-id c800b7a24a95419aaebf4e6ec31d8f57@dst.dk
Whole thread Raw
Responses Re: cpu-intensive immutable function and parallel scan  (David Rowley <dgrowleyml@gmail.com>)
List 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

 

pgsql-general by date:

Previous
From: Stephan Knauss
Date:
Subject: Re: Psql wants to use IP6 when connecting to self using tcp...
Next
From: David Rowley
Date:
Subject: Re: cpu-intensive immutable function and parallel scan