query_plan_aggregation_in_order
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено
query_plan_convert_any_join_to_semi_or_anti_join
query_plan_convert_join_to_in
JOIN в подзапрос с IN, если выходные столбцы относятся только к левой таблице. Может приводить к неверным результатам с JOIN, отличными от ANY JOIN (например, с ALL JOIN, который используется по умолчанию).
query_plan_convert_outer_join_to_inner_join
OUTER JOIN в INNER JOIN, если фильтр после JOIN всегда исключает значения по умолчанию
query_plan_direct_read_from_text_index
query_plan_display_internal_aliases
query_plan_enable_multithreading_after_window_functions
query_plan_enable_optimizations
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 — отключить все оптимизации на уровне плана запроса
- 1 — включить оптимизации на уровне плана запроса (при этом отдельные оптимизации по-прежнему можно отключить их собственными настройками)
query_plan_execute_functions_after_sorting
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_filter_push_down
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_join_shard_by_pk_ranges
query_plan_join_swap_table
ALL с условием JOIN ON. Возможные значения:
- ‘auto’: позволить planner’у определить, какую таблицу использовать как build-таблицу.
- ‘false’: никогда не менять таблицы местами (build-таблицей является правая таблица).
- ‘true’: всегда менять таблицы местами (build-таблицей является левая таблица).
query_plan_lift_up_array_join
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_lift_up_union
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_max_limit_for_join_lazy_indexing
query_plan_max_limit_for_lazy_materialization
query_plan_max_limit_for_top_k_optimization
query_plan_max_optimizations_to_apply
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем она может измениться обратно несовместимым образом или быть удалена.
query_plan_max_set_size_for_projection_match
IN, для которого механизм сопоставления проекций вычисляет и сравнивает хеши содержимого при определении равенства двух множеств. Множества, размер которых превышает это значение, считаются несовпадающими, и проекция пропускается. Ноль полностью отключает сравнение хешей содержимого: сопоставление проекций никогда не бывает успешным для узлов, содержащих множества условия IN.
Используется механизмом сопоставления aggregate projection (и любым будущим механизмом сопоставления проекций, которому потребуется сравнивать множества условия IN). Вычисление хеша содержимого имеет сложность O(N log N) по числу элементов множества; эта настройка ограничивает затраты на этапе планирования, когда в запросе или проекции присутствует много условий IN.
query_plan_max_step_description_length
query_plan_merge_expression_into_join
query_plan_merge_expressions
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено
query_plan_merge_filter_into_join_condition
JOIN и преобразовывать CROSS JOIN в INNER.
query_plan_merge_filters
query_plan_min_columns_for_join_lazy_indexing
query_plan_optimize_join_order_algorithm
- ‘greedy’ - базовый жадный алгоритм — работает быстро, но не всегда даёт наилучший порядок JOIN
- ‘dpsize’ - реализует алгоритм DPsize, который в настоящее время поддерживает только INNER JOIN, — перебирает все возможные порядки JOIN и находит оптимальный, но может работать медленно для запросов с большим количеством таблиц и предикатов JOIN.
- ‘dpsub’ - реализует алгоритм DPsub, который поддерживает как INNER JOIN, так и другие типы JOIN, — перебирает все возможные порядки JOIN и находит оптимальный, но может работать медленно для запросов с большим количеством таблиц и предикатов JOIN.
- ‘dphyp’ - реализует алгоритм DPhyp (Dynamic Programming via Hypergraph Partitioning), который в настоящее время поддерживает только INNER JOIN, — исследует то же пространство поиска, что и
dpsize, но перебирает только пары связанных подграфов, создавая меньше промежуточных JOIN в разреженных графах JOIN, ценой отказа от рассмотрения декартовых произведений Можно указать несколько алгоритмов в виде списка, разделённого запятыми, напримерdphyp,greedy. Они применяются по порядку; если алгоритм не может обработать запрос (например, из-за OUTER JOIN или несвязанных компонентов), в качестве резервного варианта используется следующий.
query_plan_optimize_join_order_limit
query_plan_optimize_join_order_max_searched_plans
query_plan_optimize_join_order_algorithm.
Это детерминированно ограничивает время оптимизации (независимо от реального времени) на плотных графах JOIN, таких как клики или звёзды, где пространство поиска растёт экспоненциально.
Установите 0, чтобы отключить ограничение. Не влияет на значение по умолчанию query_plan_optimize_join_order_limit, при котором поиск всегда остаётся значительно ниже этого предела.
query_plan_optimize_join_order_randomize
query_plan_optimize_lazy_final
query_plan_optimize_lazy_materialization
query_plan_optimize_prewhere
query_plan_push_down_limit
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем она может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_push_limit_by_into_sort
ORDER BY ... LIMIT BY. Когда столбцы LIMIT BY являются префиксом предложения ORDER BY, LIMIT BY применяется в каждом параллельном отсортированном потоке до слияния потоков в один, что уменьшает количество строк, обрабатываемых на этапе финального слияния и на последующих стадиях конвейера. Ускоряет запросы, в которых LIMIT BY отбрасывает значительную часть строк.
Действует только если значение настройки query_plan_enable_optimizations равно 1.
Возможные значения:
- 0 - Отключить
- 1 - Включить
query_plan_read_in_order
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено
query_plan_read_in_order_through_join
query_plan_remove_redundant_distinct
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_remove_redundant_sorting
query_plan_enable_optimizations установлено значение 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено
query_plan_remove_unused_columns
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено
query_plan_reuse_storage_ordering_for_window_functions
optimize_read_in_window_order
Включает или отключает оптимизацию на уровне плана запроса, которая использует порядок сортировки в хранилище при сортировке для оконных функций.
Действует только если значение параметра query_plan_enable_optimizations равно 1.
Это параметр экспертного уровня, который разработчикам следует использовать только для отладки. В будущем параметр может измениться обратно несовместимым образом или быть удалён.
- 0 - Отключено
- 1 - Включено
query_plan_split_filter
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем эта настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключить
- 1 - Включить
query_plan_text_index_add_hint
query_plan_top_k_through_join
ORDER BY ... LIMIT n через JOIN, если ключ сортировки ссылается только на столбцы сохраняемой стороны JOIN (LEFT/RIGHT). Ограничивает, сколько строк должен вернуть вход сохраняемой стороны до выполнения JOIN.
Действует только если для настройки query_plan_enable_optimizations установлено значение 1.
Возможные значения:
- 0 - Отключено
- 1 - Включено
query_plan_try_use_vector_search
query_plan_enable_optimizations равно 1.
Это настройка экспертного уровня, которую разработчикам следует использовать только для отладки. В будущем настройка может измениться обратно несовместимым образом или быть удалена.
- 0 - Отключено
- 1 - Включено