Re: checking for a NULL date in a partitioned table kills performance

shammat@gmx.net

From: shammat@gmx.net
To: pgsql-admin@lists.postgresql.org
Date: 2024-08-23T06:45:44Z
Lists: pgsql-performance
Sbob schrieb am 22.08.2024 um 23:44:
> 
> I am selecting a number of columns and specifying this where clause:
> 
> WHERE (
>                     (contract_date IS NULL)
>                     OR
>                     (contract_date > '2022-01-01'::date)
>              )
> 

It's not the check for NULL, it's the OR that makes this perform so badly. 

I typically never set columns used for range queries to NULL. 

Would using infinity instead of NULL be a viable option here? 

Then you can remove the OR condition entirely.