prefer_column_name_to_alias
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.
id en id AS x es una columna tanto de t1 como de t3, por lo que se resuelve al alias t1.id + 10.
Ejemplo
Diferencia con la configuración activada y desactivada:
Consulta:
prefer_external_sort_block_bytes
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
Habilita el reemplazo de los operadoresIN/JOIN por GLOBAL IN/GLOBAL JOIN.
Valores posibles:
- 0 — Deshabilitado. Los operadores
IN/JOINno se reemplazan porGLOBAL IN/GLOBAL JOIN. - 1 — Habilitado. Los operadores
IN/JOINse reemplazan porGLOBAL IN/GLOBAL JOIN.
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:
- Subconsultas distribuidas para obtener más información sobre cómo usar
GLOBAL IN/GLOBAL JOIN
prefer_localhost_replica
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.
Desactive este SETTING si usa max_parallel_replicas sin parallel_replicas_custom_key.
Si parallel_replicas_custom_key está configurado, desactive este SETTING solo si se usa en un clúster con varios segmentos que contienen varias réplicas.
Si se usa en un clúster con un solo segmento y varias réplicas, desactivar este SETTING tendrá efectos negativos.
prefer_optimize_projection
Hace que la optimización por projections prefiera las projections frente a la tabla en las consultasSELECT, cuando dicha optimización está habilitada (consulte la SETTING optimize_use_projections).
Cuando está habilitada, se utiliza una projection capaz de resolver la consulta aunque requiera leer más marks que la propia tabla, igual que con force_optimize_projection, pero la consulta no falla cuando no puede usarse ninguna projection.
Valores posibles:
- 0 — Las projections se eligen según su costo estimado.
- 1 — Se elige una projection utilizable sin importar su costo estimado.