Re: A performance issue with Memoize
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Richard Guo <guofenglinux@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-01-26T03:51:49Z
Lists: pgsql-hackers
David Rowley <dgrowleyml@gmail.com> writes: > I've adjusted the comments to what you mentioned and also leaned out > the pretty expensive test case to something that'll run much faster > and pushed the result. +1, I was wondering if the test could be cheaper. It wasn't horrid as Richard had it, but core regression tests add up over time. >> However ... it seems like we're not out of the woods yet. Why >> is Richard's proposed test case still showing >> + -> Memoize (actual rows=5000 loops=N) >> + Cache Key: t1.two, t1.two >> Seems like there is missing de-duplication logic, or something. > This seems separate and isn't quite causing the same problems as what > Richard wants to fix so I didn't touch this for now. Fair enough, but I think it might be worth pursuing later. regards, tom lane
Commits
-
Attempt to fix newly added Memoize regression test
- a3a836fb5e51 17.0 landed
-
Compare varnullingrels too in assign_param_for_var().
- 807369d80384 16.2 landed
- 5e444a2526cc 17.0 landed
-
De-dupicate Memoize cache keys
- bc397e5cdb31 17.0 landed
-
Improve NestLoopParam generation for lateral subqueries
- 2cca95e17546 17.0 landed
-
Avoid sharing PARAM_EXEC slots between different levels of NestLoop.
- 1db5667bac63 12.0 cited