mirror of
https://github.com/postgres/postgres.git
synced 2025-11-26 23:43:30 +03:00
Invent recursive_worktable_factor GUC to replace hard-wired constant.
Up to now, the planner estimated the size of a recursive query's worktable as 10 times the size of the non-recursive term. It's hard to see how to do significantly better than that automatically, but we can give users control over the multiplier to allow tuning for specific use-cases. The default behavior remains the same. Simon Riggs Discussion: https://postgr.es/m/CANbhV-EuaLm4H3g0+BSTYHEGxJj3Kht0R+rJ8vT57Dejnh=_nA@mail.gmail.com
This commit is contained in:
@@ -29,6 +29,8 @@
|
||||
#define DEFAULT_PARALLEL_TUPLE_COST 0.1
|
||||
#define DEFAULT_PARALLEL_SETUP_COST 1000.0
|
||||
|
||||
/* defaults for non-Cost parameters */
|
||||
#define DEFAULT_RECURSIVE_WORKTABLE_FACTOR 10.0
|
||||
#define DEFAULT_EFFECTIVE_CACHE_SIZE 524288 /* measured in pages */
|
||||
|
||||
typedef enum
|
||||
|
||||
@@ -91,6 +91,7 @@ extern PGDLLIMPORT double cpu_index_tuple_cost;
|
||||
extern PGDLLIMPORT double cpu_operator_cost;
|
||||
extern PGDLLIMPORT double parallel_tuple_cost;
|
||||
extern PGDLLIMPORT double parallel_setup_cost;
|
||||
extern PGDLLIMPORT double recursive_worktable_factor;
|
||||
extern PGDLLIMPORT int effective_cache_size;
|
||||
|
||||
extern double clamp_row_est(double nrows);
|
||||
|
||||
Reference in New Issue
Block a user