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

# configurações de sessão force_optimize_*

> Configurações de sessão do ClickHouse no grupo gerado force_optimize_*.

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"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Essas configurações estão disponíveis em [system.settings](/docs/pt-BR/reference/system-tables/settings) e são autogeradas a partir do [código-fonte](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="force_optimize_projection">
  ## force\_optimize\_projection
</div>

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

Ativa ou desativa o uso obrigatório de [projeções](/docs/pt-BR/reference/engines/table-engines/mergetree-family/mergetree#projections) em consultas `SELECT`, quando a otimização de projeções está habilitada (consulte a configuração [optimize\_use\_projections](/docs/pt-BR/reference/settings/session-settings/optimize-use#optimize_use_projections)).

Valores possíveis:

* 0 — A otimização de projeções não é obrigatória.
* 1 — A otimização de projeções é obrigatória.

<div id="force_optimize_projection_name">
  ## force\_optimize\_projection\_name
</div>

Se for definido como uma string não vazia, verifique se essa projeção é usada na consulta pelo menos uma vez.

Valores possíveis:

* string: nome da projeção usada em uma consulta

<div id="force_optimize_skip_unused_shards">
  ## force\_optimize\_skip\_unused\_shards
</div>

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

Habilita ou desabilita a execução da consulta se [optimize\_skip\_unused\_shards](/docs/pt-BR/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards) estiver habilitado e não for possível ignorar shards não utilizados. Se isso não for possível e a configuração estiver habilitada, uma exceção será lançada.

Valores possíveis:

* 0 — Desabilitado. O ClickHouse não lança exceção.
* 1 — Habilitado. A execução da consulta é desabilitada somente se a tabela tiver uma chave de sharding.
* 2 — Habilitado. A execução da consulta é desabilitada independentemente de a tabela ter uma chave de sharding definida.

<div id="force_optimize_skip_unused_shards_nesting">
  ## force\_optimize\_skip\_unused\_shards\_nesting
</div>

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

Controla como [`force_optimize_skip_unused_shards`](/docs/pt-BR/reference/settings/session-settings/force-optimize#force_optimize_skip_unused_shards) depende do nível de aninhamento da consulta distribuída (ou seja, ainda requer [`force_optimize_skip_unused_shards`](/docs/pt-BR/reference/settings/session-settings/force-optimize#force_optimize_skip_unused_shards)) no caso em que você tem uma tabela `Distributed` que consulta outra tabela `Distributed`.

Valores possíveis:

* 0 - Desabilitado, `force_optimize_skip_unused_shards` sempre funciona.
* 1 — Habilita `force_optimize_skip_unused_shards` apenas para o primeiro nível.
* 2 — Habilita `force_optimize_skip_unused_shards` até o segundo nível.
