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

# use_* MergeTree table settings

> ClickHouse MergeTree table settings in the use_* generated group.

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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Default</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Changeable without restart
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

These settings are available in [system.merge\_tree\_settings](/docs/reference/system-tables/merge_tree_settings) and are autogenerated from ClickHouse source.

<h2 id="use_adaptive_write_buffer_for_dynamic_subcolumns">
  use\_adaptive\_write\_buffer\_for\_dynamic\_subcolumns
</h2>

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

Allow to use adaptive writer buffers during writing dynamic subcolumns to
reduce memory usage

<h2 id="use_async_block_ids_cache">
  use\_async\_block\_ids\_cache
</h2>

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

Obsolete setting, does nothing.

<h2 id="use_compact_variant_discriminators_serialization">
  use\_compact\_variant\_discriminators\_serialization
</h2>

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

Enables compact mode for binary serialization of discriminators in Variant
data type.
This mode allows to use significantly less memory for storing discriminators
in parts when there is mostly one variant or a lot of NULL values.

<h2 id="use_const_adaptive_granularity">
  use\_const\_adaptive\_granularity
</h2>

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

Always use constant granularity for whole part. It allows to compress in
memory values of index granularity. It can be useful in extremely large
workloads with thin tables.

<h2 id="use_metadata_cache">
  use\_metadata\_cache
</h2>

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

Obsolete setting, does nothing.

<h2 id="use_primary_key_cache">
  use\_primary\_key\_cache
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "New setting"}]}]} />

Use cache for primary index
instead of saving all indexes in memory. Can be useful for very large tables
