> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# configuraciones de sesión de use_top_k_dynamic_filtering_*

> Configuraciones de sesión de ClickHouse del grupo generado use_top_k_dynamic_filtering_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estos ajustes están disponibles en [system.settings](/docs/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="use_top_k_dynamic_filtering">
  ## use\_top\_k\_dynamic\_filtering
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Habilita de forma predeterminada la optimización de filtrado dinámico para las consultas TopK"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "0"},{"label": "Nueva configuración."}]}]} />

Habilita la optimización de filtrado dinámico al ejecutar una consulta `ORDER BY <column> LIMIT n`.

Cuando está habilitada, el ejecutor de consultas intentará omitir gránulos y filas que no formarán parte de las filas finales de `top N` en el conjunto de resultados. Esta optimización es de naturaleza dinámica, y las mejoras de latencia dependen de la distribución de los datos y de la presencia de otros predicados en la consulta.

Valores posibles:

* 0 — Deshabilitado.
* 1 — Habilitado.

<div id="use_top_k_dynamic_filtering_for_variable_length_types">
  ## use\_top\_k\_dynamic\_filtering\_for\_variable\_length\_types
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Desactiva `use_top_k_dynamic_filtering` de forma predeterminada para columnas de ordenación de longitud variable (p. ej., `String`); el comportamiento anterior, en el que la optimización se aplicaba incondicionalmente, se conserva con `compatibility`."}]}]} />

Permite que `use_top_k_dynamic_filtering` se aplique cuando la columna de ordenación tiene un tipo de datos de longitud variable (p. ej., `String`, `Array`, `Map`, `Tuple` con elementos de longitud variable).

Para estos tipos, la comparación por umbral por fila que realiza el filtro dinámico puede costar más de lo que ahorra cuando predomina el mínimo lexicográfico de la columna (p. ej., cadenas vacías en su mayoría) y se pueden omitir pocos gránulos. En ese caso, el filtro dinámico empeora la latencia de la consulta en lugar de mejorarla.

Cuando esta configuración es `0`, el filtrado dinámico se restringe a columnas cuyos valores tienen un tamaño máximo fijo en memoria (números, `Date`, `DateTime`, `FixedString`, `Enum`, `Nullable` de esos tipos, `Tuple` de esos tipos). Cuando se establece en `1`, el filtrado dinámico también se aplica a tipos de longitud variable.

Posibles valores:

* 0 — Deshabilitado.
* 1 — Habilitado.
