mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-9750: Quick memory exhaustion with 'extended_keys=on' ...
(Variant #5, full patch, for 10.5) Do not produce SEL_ARG graphs that would yield huge numbers of ranges. Introduce a concept of SEL_ARG graph's "weight". If we are about to produce a graph whose "weight" exceeds the limit, remove the parts of SEL_ARG graph that represent the biggest key parts. Do so until the graph's is within the limit. Includes - debug code to verify SEL_ARG graph weight - A user-visible @@optimizer_max_sel_arg_weight to control the optimization - Logging the optimization into the optimizer trace.
This commit is contained in:
@ -815,6 +815,7 @@ typedef struct system_variables
|
||||
uint column_compression_threshold;
|
||||
uint column_compression_zlib_level;
|
||||
uint in_subquery_conversion_threshold;
|
||||
ulong optimizer_max_sel_arg_weight;
|
||||
ulonglong max_rowid_filter_size;
|
||||
|
||||
vers_asof_timestamp_t vers_asof_timestamp;
|
||||
|
Reference in New Issue
Block a user