> ## 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.

# configuración de sesión force_*

> Configuración de sesión de ClickHouse del grupo generado force_*.

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>;
};

Estas opciones de configuración 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="force_aggregate_partitions_independently">
  ## force\_aggregate\_partitions\_independently
</div>

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

Fuerza el uso de la optimización cuando es aplicable, aunque las heurísticas hayan decidido no usarla

<div id="force_aggregation_in_order">
  ## force\_aggregation\_in\_order
</div>

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

Esta configuración la utiliza el propio servidor para admitir consultas distribuidas. No la cambie manualmente, ya que interrumpirá el funcionamiento normal. (Fuerza el uso de la agregación en orden en nodos remotos durante la agregación distribuida).

<div id="force_data_skipping_indices">
  ## force\_data\_skipping\_indices
</div>

Deshabilita la ejecución de la consulta si no se utilizaron los índices de omisión de datos especificados.

Considere el siguiente ejemplo:

```sql theme={null}
CREATE TABLE data
(
    key Int,
    d1 Int,
    d1_null Nullable(Int),
    INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
    INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;

SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- query will produce CANNOT_PARSE_TEXT error.
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- query will produce INDEX_NOT_USED error.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (example of full featured parser).
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- query will produce INDEX_NOT_USED error, since d1_null_idx is not used.
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.
```

<div id="force_grouping_standard_compatibility">
  ## force\_grouping\_standard\_compatibility
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.9"},{"label": "1"},{"label": "Hace que la función GROUPING devuelva el mismo resultado que en el estándar SQL y otros DBMS"}]}]} />

Hace que la función GROUPING devuelva 1 cuando el argumento no se utiliza como clave de agregación

<div id="force_index_by_date">
  ## force\_index\_by\_date
</div>

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

Desactiva la ejecución de la consulta si el índice no puede usarse con la fecha.

Funciona con tablas de la familia MergeTree.

Si `force_index_by_date=1`, ClickHouse comprueba si la consulta tiene una condición sobre la clave de fecha que pueda usarse para restringir los rangos de datos. Si no hay una condición adecuada, lanza una excepción. Sin embargo, no comprueba si la condición reduce la cantidad de datos que hay que leer. Por ejemplo, la condición `Date != ' 2000-01-01 '` es aceptable incluso cuando coincide con todos los datos de la tabla (es decir, ejecutar la consulta requiere un escaneo completo). Para obtener más información sobre los rangos de datos en las tablas MergeTree, consulte [MergeTree](/docs/es/reference/engines/table-engines/mergetree-family/mergetree).

<div id="force_primary_key">
  ## force\_primary\_key
</div>

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

Desactiva la ejecución de la consulta si no es posible usar el índice de la clave primaria.

Funciona con tablas de la familia MergeTree.

Si `force_primary_key=1`, ClickHouse comprueba si la consulta tiene una condición sobre la clave primaria que pueda usarse para restringir los rangos de datos. Si no hay ninguna condición adecuada, lanza una excepción. Sin embargo, no comprueba si la condición reduce la cantidad de datos que se deben leer. Para obtener más información sobre los rangos de datos en las tablas MergeTree, consulte [MergeTree](/docs/es/reference/engines/table-engines/mergetree-family/mergetree).

<div id="force_remove_data_recursively_on_drop">
  ## force\_remove\_data\_recursively\_on\_drop
</div>

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

Elimina los datos de forma recursiva al ejecutar la consulta DROP. Evita el error 'Directory not empty', pero puede eliminar silenciosamente datos detached
