On 11/3/2017 10:55, legrand legrand wrote:
To limit NL usage, wouldn't a modified set of Planner Cost Constants
https://www.postgresql.org/docs/current/static/runtime-config-query.html
<https://www.postgresql.org/docs/current/static/runtime-config-query.html>
seq_page_cost
random_page_cost
cpu_tuple_cost
cpu_index_tuple_cost
cpu_operator_cost
be more hash join freindly (as Oracle' optimizer_index_cost_adj )?
I twiddled with some of these and could nudge it toward a Sort Merge
instead NL. But it's hit or miss.
May be there should be a tool which you can run periodically which will
test out the installation to see how IO, CPU, and memory performs. Or,
again, these statistics should be collected during normal operation so
that nobody needs to guess them or test them in complex procedures. As
the system runs, it should sample the seq_page_cost and random_page_cost
(noticing that it has a SSD or HDD) and it should see how much disk read
is from cache and how much goes out to disk. Why isn't the executor of
queries the best person to ask for these cost constants?
regards,
-Gunther
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance