Re: Is there value in having optimizer stats for joins/foreignkeys?

Andrei Lepikhov <lepihov@gmail.com>

From: Andrei Lepikhov <lepihov@gmail.com>
To: Alexandra Wang <alexandra.wang.oss@gmail.com>, Corey Huinker <corey.huinker@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Tomas Vondra <tomas@vondra.me>, pgsql-hackers@lists.postgresql.org, hs@cybertec.at, Jeff Davis <pgsql@j-davis.com>
Date: 2026-01-31T11:18:43Z
Lists: pgsql-hackers
On 29/1/26 06:04, Alexandra Wang wrote:
> Hi hackers,
> 
> As promised in my previous email, I'm sharing a proof-of-concept patch
> exploring join statistics for correlated columns across relations.
> This is a POC at this point, but I hope the performance numbers below
> give a better idea of both the potential usefulness of join statistics
> and the complexity of implementing them.
I wonder why you chose the JOIN operator only?

It seems to me that any relational operator produces relational output 
that can be treated as a table. The extended statistics code may be 
adopted to such relations.
I think it may be a VIEW that you can declare (manually or 
automatically) and allow Postgres to build statistics on this 'virtual' 
table. So, the main focus may shift to the question: how to provably 
match a query subtree to a specific statistic.

-- 
regards, Andrei Lepikhov,
pgEdge