optimize_aggregators_of_group_by_keys
optimize_append_index
false.
Valores posibles:
- true, false
optimize_arithmetic_operations_in_aggregate_functions
optimize_const_name_size
- entero positivo - longitud máxima del nombre,
- 0 — siempre,
- entero negativo - nunca.
optimize_count_from_files
file/s3/url/hdfs/azureBlobStorage.
Valores posibles:
- 0 — Optimización deshabilitada.
- 1 — Optimización habilitada.
optimize_dictget_tuple_element
tupleElement(dictGet('dict', ('a', 'b', 'c'), key), 2) como dictGet('dict', 'b', key) para evitar recuperar atributos del diccionario innecesarios. Admite acceso posicional (.1, .2, …) y con nombre (.b), y también se aplica a dictGetOrDefault cuando el argumento por defecto es una tupla constante o un tuple(...) de constantes.
optimize_distinct_in_order
optimize_distributed_group_by_sharding_key
GROUP BY sharding_key al evitar una agregación costosa en el servidor iniciador (lo que reduce el uso de memoria de la consulta en ese servidor).
Se admiten los siguientes tipos de consultas (y cualquier combinación de ellos):
SELECT DISTINCT [..., ]sharding_key[, ...] FROM distSELECT ... FROM dist GROUP BY sharding_key[, ...]SELECT ... FROM dist GROUP BY sharding_key[, ...] ORDER BY xSELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1 BY x
SELECT ... GROUP BY sharding_key[, ...] WITH TOTALSSELECT ... GROUP BY sharding_key[, ...] WITH ROLLUPSELECT ... GROUP BY sharding_key[, ...] WITH CUBESELECT ... GROUP BY sharding_key[, ...] SETTINGS extremes=1
- 0 — Deshabilitado.
- 1 — Habilitado.
Actualmente requiere
optimize_skip_unused_shards (la razón es que, en algún momento, podría habilitarse de forma predeterminada, y solo funcionará correctamente si los datos se insertaron a través de una tabla Distributed; es decir, si los datos se distribuyen según sharding_key).optimize_dry_run_check_part
OPTIMIZE ... DRY RUN valida la parte fusionada resultante con checkDataPart. Si la comprobación falla, se lanza una excepción.
optimize_empty_string_comparisons
optimize_extract_common_expressions
(A AND B) OR (A AND C) puede reescribirse como A AND (B OR C), lo que puede ayudar a aprovechar:
- índices en expresiones de filtrado simples
- la optimización de CROSS a INNER JOIN
optimize_functions_to_subcolumns
- length para leer la subcolumna size0.
- empty para leer la subcolumna size0.
- notEmpty para leer la subcolumna size0.
- isNull para leer la subcolumna null.
- isNotNull para leer la subcolumna null.
- count para leer la subcolumna null.
- mapKeys para leer la subcolumna keys.
- mapValues para leer la subcolumna values.
- 0 — Optimización deshabilitada.
- 1 — Optimización habilitada.
optimize_inverse_dictionary_lookup
optimize_multiif_to_if
optimize_normalize_count_variants
optimize_on_insert
- 0 — Deshabilitado.
- 1 — Habilitado.
optimize_prewhere_after_pushdown
PREWHERE después de que optimizaciones posteriores del plan de consulta hayan podido
añadir filtros adicionales sobre un paso de lectura de MergeTree (p. ej., pushdown de predicados a través de
JOIN, reescrituras de proyección). Cuando ya existe un PREWHERE, el nuevo
filtro se fusiona con él mediante AND en lugar de permanecer como un paso de filtro independiente.
optimize_qbit_distance_function_reads
QBit por otras equivalentes que solo leen del almacenamiento las columnas necesarias para el cálculo.
optimize_read_in_order
- 0 — la optimización de
ORDER BYestá deshabilitada. - 1 — la optimización de
ORDER BYestá habilitada.
optimize_respect_aliases
optimize_sorting_by_input_stream_properties
optimize_substitute_columns
false.
Valores posibles:
- true, false
optimize_syntax_fuse_functions
- 0 — Las funciones con el mismo argumento no se fusionan.
- 1 — Las funciones con el mismo argumento se fusionan.
optimize_throw_if_noop
OPTIMIZE se completa correctamente incluso si no hizo nada. Esta configuración le permite distinguir estas situaciones y obtener el motivo en el mensaje de excepción.
Valores posibles:
- 1 — El lanzamiento de una excepción está habilitado.
- 0 — El lanzamiento de una excepción está deshabilitado.
optimize_time_filter_with_preimage
toYear(col) = 2023 -> col >= '2023-01-01' AND col <= '2023-12-31')
optimize_truncate_order_by_after_group_by_keys
optimize_uniq_to_count
optimize_using_constraints
false.
Valores posibles:
- true, false