On Tue, Mar 12, 2024 at 4:55 PM David Rowley <dgrowle...@gmail.com> wrote: > The primary place I see issues with disabled_cost is caused by > STD_FUZZ_FACTOR. When you add 1.0e10 to a couple of modestly costly > paths, it makes them appear fuzzily the same in cases where one could > be significantly cheaper than the other. If we were to bump up the > disable_cost it would make this problem worse.
Hmm, good point. > So maybe the fix could be to set disable_cost to something like > 1.0e110 and adjust compare_path_costs_fuzzily to not apply the > fuzz_factor for paths >= disable_cost. However, I wonder if that > risks the costs going infinite after a couple of cartesian joins. Yeah, I think the disabled flag is a better answer if we can make it work. No matter what value we pick for disable_cost, it's bound to skew the planning sometimes. -- Robert Haas EDB: http://www.enterprisedb.com