Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ajustes de sesión prefer_*

Estos ajustes están disponibles en system.settings y se generan automáticamente a partir del código fuente.

prefer_column_name_to_alias

Tipo
Bool
Predeterminado
0

Habilita o deshabilita el uso de los nombres de columna originales en lugar de alias en las expresiones y cláusulas de la consulta. Esto es especialmente importante cuando el alias es el mismo que el nombre de la columna; consulta Alias de expresiones. Active este SETTING para que las reglas de sintaxis de los alias en ClickHouse sean más compatibles con la mayoría de los demás motores de base de datos.

Valores posibles:

  • 0 — El nombre de la columna se sustituye por el alias.
  • 1 — El nombre de la columna no se sustituye por el alias.

Ejemplo

Diferencia con la configuración activada y desactivada:

Consulta:

SET prefer_column_name_to_alias = 0;
SELECT avg(number) AS number, max(number) FROM numbers(10);

Resultado:

Received exception from server (version 21.5.1):
Code: 184. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function avg(number) is found inside another aggregate function in query: While processing avg(number) AS number.

Consulta:

SET prefer_column_name_to_alias = 1;
SELECT avg(number) AS number, max(number) FROM numbers(10);

Resultado:

┌─number─┬─max(number)─┐
│    4.5 │           9 │
└────────┴─────────────┘

prefer_external_sort_block_bytes

Tipo
UInt64
Predeterminado
16744704
Historial de versiones
VersiónValor predeterminadoComentario
24.516744704Da preferencia al número máximo de bytes por bloque para la ordenación externa; reduce el uso de memoria durante la fusión.

Da preferencia al número máximo de bytes por bloque para la ordenación externa; reduce el uso de memoria durante la fusión.

prefer_global_in_and_join

Tipo
Bool
Predeterminado
0

Habilita el reemplazo de los operadores IN/JOIN por GLOBAL IN/GLOBAL JOIN.

Valores posibles:

  • 0 — Deshabilitado. Los operadores IN/JOIN no se reemplazan por GLOBAL IN/GLOBAL JOIN.
  • 1 — Habilitado. Los operadores IN/JOIN se reemplazan por GLOBAL IN/GLOBAL JOIN.

Uso

Aunque SET distributed_product_mode=global puede cambiar el comportamiento de las consultas para las tablas distribuidas, no es adecuado para las tablas locales ni para las tablas procedentes de recursos externos. Aquí es donde entra en juego el SETTING prefer_global_in_and_join.

Por ejemplo, podemos tener nodos que atienden consultas y contienen tablas locales, que no se prestan a la distribución. Necesitamos distribuir sus datos sobre la marcha durante el procesamiento distribuido con la palabra clave GLOBAL: GLOBAL IN/GLOBAL JOIN.

Otro caso de uso de prefer_global_in_and_join es acceder a tablas creadas por motores externos. Este SETTING ayuda a reducir el número de llamadas a fuentes externas al hacer join con esas tablas: solo una llamada por consulta.

Véase también:

prefer_localhost_replica

Tipo
Bool
Predeterminado
1

Habilita o deshabilita el uso preferente de la réplica localhost al procesar consultas distribuidas.

Valores posibles:

  • 1 — ClickHouse siempre envía una consulta a la réplica localhost si existe.
  • 0 — ClickHouse usa la estrategia de balanceo especificada por el SETTING load_balancing.

prefer_warmed_unmerged_parts_seconds

Solo para ClickHouse Cloud
Tipo
Int64
Predeterminado
0

Solo tiene efecto en ClickHouse Cloud. Si una parte fusionada tiene menos de esta cantidad de segundos de antigüedad y no está precalentada (ver cache_populated_by_fetch), pero todas sus partes de origen están disponibles y precalentadas, las consultas SELECT leerán de esas partes en su lugar. Solo para Replicated-/SharedMergeTree. Ten en cuenta que esto solo comprueba si CacheWarmer procesó la parte; si la parte se cargó en la caché por otro mecanismo, se seguirá considerando fría hasta que CacheWarmer la procese; si se precalentó y luego fue expulsada de la caché, se seguirá considerando caliente.

Navigation