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