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

# enable_* 会话设置

> ClickHouse 中 enable_* 自动生成分组的会话设置。

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
  }}>类型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>默认值</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          无需重启即可更改
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental 功能。 <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">了解详情。</a></u>
        </div>;
};

这些设置可在 [system.settings](/docs/zh/reference/system-tables/settings) 中查看，并由 [源代码](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) 自动生成。

<div id="enable_adaptive_memory_spill_scheduler">
  ## enable\_adaptive\_memory\_spill\_scheduler
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "新设置。启用将内存数据自适应落盘到外部存储。"}]}]} />

触发处理器将数据自适应落盘到外部存储。目前仅支持 grace join。

<div id="enable_add_distinct_to_in_subqueries">
  ## enable\_add\_distinct\_to\_in\_subqueries
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "用于减小分布式 IN 子查询传输的临时表大小的新设置。"}]}]} />

在 `IN` 子查询中启用 `DISTINCT`。这是一个需要权衡的设置：启用后可确保仅发送唯一值，从而大幅减小分布式 `IN` 子查询传输的临时表大小，并显著加快分片之间的数据传输。
不过，启用此设置会增加每个节点上的额外合并开销，因为必须执行去重 (`DISTINCT`) 。当网络传输成为性能瓶颈，且可以接受额外的合并成本时，请使用此设置。

<div id="enable_automatic_decision_for_merging_across_partitions_for_final">
  ## enable\_automatic\_decision\_for\_merging\_across\_partitions\_for\_final
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "新设置"}]}]} />

如果启用此设置，当分区键表达式是确定性的，且分区键表达式中使用的所有列都包含在主键中时，ClickHouse 会自动启用此优化。
这种自动推导可确保具有相同主键值的行始终属于同一分区，因此可以安全地避免跨分区合并。

<div id="enable_early_constant_folding">
  ## enable\_early\_constant\_folding
</div>

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

启用查询优化：分析函数和子查询的结果，并在其中包含常量时重写查询

<div id="enable_extended_results_for_datetime_functions">
  ## enable\_extended\_results\_for\_datetime\_functions
</div>

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

启用或禁用返回扩展范围的 `Date32` 类型结果 (相对于 `Date` 类型) ，
或返回扩展范围的 `DateTime64` 类型结果 (相对于 `DateTime` 类型) 。

可能的值：

* `0` — 对于所有类型的参数，函数均返回 `Date` 或 `DateTime`。
* `1` — 对于 `Date32` 或 `DateTime64` 参数，函数返回 `Date32` 或 `DateTime64`；否则返回 `Date` 或 `DateTime`。

下表展示了此设置对各种日期时间函数的影响。

| 函数                        | `enable_extended_results_for_datetime_functions = 0` | `enable_extended_results_for_datetime_functions = 1`                                                         |
| ------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `toStartOfYear`           | 返回 `Date` 或 `日期时间`                                   | 输入为 `Date`/`DateTime` 时，返回 `Date`/`DateTime`<br />输入为 `Date32`/`DateTime64` 时，返回 `Date32`/`DateTime64`       |
| `toStartOfISOYear`        | 返回 `Date` 或 `DateTime`                               | 输入为 `Date`/`DateTime` 时，返回 `Date`/`DateTime`<br />输入为 `Date32`/`DateTime64` 时，返回 `Date32`/`DateTime64`       |
| `toStartOfQuarter`        | 返回 `Date` 或 `日期时间`                                   | 对于 `Date`/`DateTime` 类型的输入，返回 `Date`/`DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `Date32`/`DateTime64` |
| `toStartOfMonth`          | 返回 `Date` 或 `日期时间`                                   | 对于 `Date`/`DateTime` 类型的输入，返回 `Date`/`DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `Date32`/`DateTime64` |
| `toStartOfWeek`           | 返回 `Date` 或 `DateTime`                               | `Date`/`DateTime` 输入时，返回 `Date`/`DateTime`<br />`Date32`/`DateTime64` 输入时，返回 `Date32`/`DateTime64`           |
| `toLastDayOfWeek`         | 返回 `Date` 或 `DateTime`                               | 输入为 `Date`/`DateTime` 时，返回 `Date`/`DateTime`<br />输入为 `Date32`/`DateTime64` 时，返回 `Date32`/`DateTime64`       |
| `toLastDayOfMonth`        | 返回 `Date` 或 `DateTime`                               | 对于 `Date`/`DateTime` 类型的输入，返回 `Date`/`DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `Date32`/`DateTime64` |
| `toMonday`                | 返回 `Date` 或 `DateTime`                               | 对于 `Date`/`DateTime` 类型的输入，返回 `Date`/`DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `Date32`/`DateTime64` |
| `toStartOfDay`            | 返回 `DateTime`<br />*注：对于超出 1970-2149 范围的值，结果会不正确*    | `Date`/`DateTime` 输入时，返回 `DateTime`<br />`Date32`/`DateTime64` 输入时，返回 `DateTime64`                           |
| `toStartOfHour`           | 返回 `DateTime`<br />*注意：对于超出 1970-2149 范围的值，结果会不正确。*  | 输入为 `Date`/`DateTime` 时，返回 `DateTime`<br />输入为 `Date32`/`DateTime64` 时，返回 `DateTime64`                       |
| `toStartOfFifteenMinutes` | 返回 `DateTime`<br />*注意：对于超出 1970-2149 范围的值，会返回错误结果*  | 对于 `Date`/`DateTime` 输入，返回 `DateTime`<br />对于 `Date32`/`DateTime64` 输入，返回 `DateTime64`                       |
| `toStartOfTenMinutes`     | 返回 `DateTime`<br />*注意：对于超出 1970-2149 范围的值，结果会不正确*   | 对于 `Date`/`DateTime` 类型的输入，返回 `DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `DateTime64`                 |
| `toStartOfFiveMinutes`    | 返回 `日期时间`<br />*注：对于超出 1970-2149 范围的值，结果可能不正确。*      | 对于 `Date`/`DateTime` 输入，返回 `DateTime`<br />对于 `Date32`/`DateTime64` 输入，返回 `DateTime64`                       |
| `toStartOfMinute`         | 返回 `DateTime`<br />*注：对于超出 1970-2149 范围的值，结果会出错*     | 输入为 `Date`/`DateTime` 时，返回 `DateTime`<br />输入为 `Date32`/`DateTime64` 时，返回 `DateTime64`                       |
| `timeSlot`                | 返回 `DateTime`<br />*注意：对于超出 1970-2149 范围的值，结果会不正确。*  | 对于 `Date`/`DateTime` 类型的输入，返回 `DateTime`<br />对于 `Date32`/`DateTime64` 类型的输入，返回 `DateTime64`                 |

<div id="enable_full_text_index">
  ## enable\_full\_text\_index
</div>

**别名**: `allow_experimental_full_text_index`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "文本索引现已进入 GA 阶段"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "0"},{"label": "文本索引已调整为 Beta 阶段。"}]}]} />

如果设置为 true，则允许使用文本索引。

<div id="enable_global_with_statement">
  ## enable\_global\_with\_statement
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.2"},{"label": "1"},{"label": "默认将 WITH 语句应用于 UNION 查询和所有子查询"}]}]} />

将 WITH 语句应用于 UNION 查询和所有子查询

<div id="enable_hdfs_pread">
  ## enable\_hdfs\_pread
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "1"},{"label": "新增设置。"}]}]} />

控制是否对 HDFS 文件启用 pread。默认使用 `hdfsPread`。如果禁用，则会使用 `hdfsRead` 和 `hdfsSeek` 来读取 HDFS 文件。

<div id="enable_http_compression">
  ## enable\_http\_compression
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "1"},{"label": "一般来说，启用此项会更有益"}]}]} />

启用或禁用 HTTP 请求响应中的数据压缩。

如需了解更多信息，请参阅 [HTTP 接口说明](/docs/zh/concepts/features/interfaces/http)。

可选值：

* 0 — 禁用。
* 1 — 启用。

<div id="enable_identifier_resolve_cache">
  ## enable\_identifier\_resolve\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "用于控制查询分析器中标识符解析缓存的新设置"}]}]} />

在查询分析器中启用标识符解析缓存。该缓存会共享已解析的别名节点，以防止同一别名被多次引用时 AST 膨胀。若怀疑结果不正确，可将其设为 false 以禁用缓存。

<div id="enable_job_stack_trace">
  ## enable\_job\_stack\_trace
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "此设置默认禁用，以避免性能开销。"}]}, {"id": "row-2","items": [{"label": "24.11"},{"label": "0"},{"label": "启用收集 job 调度过程中的堆栈跟踪。默认禁用，以避免性能开销。"}]}]} />

当 job 导致异常时，输出 job 创建者的堆栈跟踪。默认禁用，以避免性能开销。

<div id="enable_lazy_columns_replication">
  ## enable\_lazy\_columns\_replication
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "默认在 JOIN 和 ARRAY JOIN 中启用惰性列复制"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "添加一个设置，用于在 JOIN 和 ARRAY JOIN 中启用惰性列复制"}]}]} />

启用 JOIN 和 ARRAY JOIN 中的惰性列复制，可避免在内存中多次不必要地复制相同的行。

<div id="enable_materialized_cte">
  ## enable\_materialized\_cte
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "新设置"}]}]} />

启用物化公共表表达式；该设置的优先级高于 enable\_global\_with\_statement

<div id="enable_memory_bound_merging_of_aggregation_results">
  ## enable\_memory\_bound\_merging\_of\_aggregation\_results
</div>

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

启用用于聚合的内存受限合并策略。

<div id="enable_multiple_prewhere_read_steps">
  ## enable\_multiple\_prewhere\_read\_steps
</div>

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

如果有多个通过 AND 组合的条件，则会将更多条件从 WHERE 移到 PREWHERE，并分多个步骤从磁盘读取数据并进行过滤

<div id="enable_named_columns_in_function_tuple">
  ## enable\_named\_columns\_in\_function\_tuple
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "0"},{"label": "当所有名称都是唯一的，且可视为未加引号的标识符时，在函数 tuple() 中生成命名元组。"}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "因易用性改进而暂时禁用"}]}]} />

当所有名称都是唯一的，且可视为未加引号的标识符时，在函数 tuple() 中生成命名元组。

<div id="enable_order_by_all">
  ## enable\_order\_by\_all
</div>

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

启用或禁用 `ORDER BY ALL` 排序语法，参见 [ORDER BY](/docs/zh/reference/statements/select/order-by)。

可能的值：

* 0 — 禁用 ORDER BY ALL。
* 1 — 启用 ORDER BY ALL。

**示例**

查询：

```sql theme={null}
CREATE TABLE TAB(C1 Int, C2 Int, ALL Int) ENGINE=Memory();

INSERT INTO TAB VALUES (10, 20, 30), (20, 20, 10), (30, 10, 20);

SELECT * FROM TAB ORDER BY ALL; -- returns an error that ALL is ambiguous

SELECT * FROM TAB ORDER BY ALL SETTINGS enable_order_by_all = 0;
```

结果：

```text theme={null}
┌─C1─┬─C2─┬─ALL─┐
│ 20 │ 20 │  10 │
│ 30 │ 10 │  20 │
│ 10 │ 20 │  30 │
└────┴────┴─────┘
```

<div id="enable_parallel_blocks_marshalling">
  ## enable\_parallel\_blocks\_marshalling
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "true"},{"label": "新设置"}]}]} />

仅影响分布式查询。启用后，块会在发送到发起节点之前/之后，由管道线程进行 (反) 序列化和 (反) 压缩 (即并行度高于默认情况) 。

<div id="enable_parsing_to_custom_serialization">
  ## enable\_parsing\_to\_custom\_serialization
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1"},{"label": "新设置"}]}]} />

如果为 true，则可根据从表中获得的序列化提示，直接将数据解析到使用自定义序列化 (例如 Sparse) 的列中。

<div id="enable_producing_buckets_out_of_order_in_aggregation">
  ## enable\_producing\_buckets\_out\_of\_order\_in\_aggregation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "1"},{"label": "新设置"}]}]} />

允许内存高效的聚合 (参见 `distributed_aggregation_memory_efficient`) 以乱序方式生成桶。
当聚合桶的大小分布不均时，这可能会提升性能：副本在仍处理某些 id 较低的大桶时，可以先向发起节点发送 id 较高的桶。
缺点是内存使用量可能会增加。

<div id="enable_reads_from_query_cache">
  ## enable\_reads\_from\_query\_cache
</div>

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

启用后，将从[查询缓存](/docs/zh/concepts/features/performance/caches/query-cache)中读取 `SELECT` 查询结果。

可能的值：

* 0 - 禁用
* 1 - 启用

<div id="enable_s3_requests_logging">
  ## enable\_s3\_requests\_logging
</div>

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

启用极其详细的 S3 请求日志。仅建议在调试时使用。

<div id="enable_scalar_subquery_optimization">
  ## enable\_scalar\_subquery\_optimization
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.18"},{"label": "1"},{"label": "防止标量子查询对大型标量值进行（反）序列化，并尽可能避免同一子查询被执行多次"}]}]} />

如果将其设置为 true，则可防止标量子查询对大型标量值进行 (反) 序列化，并尽可能避免同一子查询被执行多次。

<div id="enable_scopes_for_with_statement">
  ## enable\_scopes\_for\_with\_statement
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "1"},{"label": "为与旧 analyzer 向后兼容而新增的设置。"}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "1"},{"label": "为与旧 analyzer 向后兼容而新增的设置。"}]}, {"id": "row-3","items": [{"label": "25.5"},{"label": "1"},{"label": "为与旧 analyzer 向后兼容而新增的设置。"}]}, {"id": "row-4","items": [{"label": "25.4"},{"label": "1"},{"label": "为与旧 analyzer 向后兼容而新增的设置。"}]}]} />

如果禁用，父级 WITH 子句中的声明将与在当前作用域中声明时具有相同的作用域行为。

请注意，这是 analyzer 的一个兼容性设置，用于允许运行一些旧 analyzer 能够执行的无效查询。

<div id="enable_sharding_aggregator">
  ## enable\_sharding\_aggregator
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "用于启用分片式 `GROUP BY` 优化的新设置。该优化通过对分组键进行哈希计算，将行分发到各个线程，使每个线程聚合一组互不重叠的键子集，无需经过 merge 阶段；对于数据分布均匀的高基数键，这种方式效率很高。"}]}]} />

启用分片式 `GROUP BY` 优化。该优化通过对分组键进行哈希计算，将行分发到各个线程，使每个线程聚合一组互不重叠的键子集，无需经过 merge 阶段。

对于数据分布均匀的高基数键，这种方式效率很高；但如果键分布严重倾斜，或查询中的不同键非常少，则效果可能不佳。

可能的值：

* 0 — 禁用分片聚合优化。
* 1 — 启用分片聚合优化。

<div id="enable_shared_storage_snapshot_in_query">
  ## enable\_shared\_storage\_snapshot\_in\_query
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "用于在查询中共享存储快照的新设置"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "1"},{"label": "默认启用在查询中共享存储快照"}]}]} />

如果启用，单个查询中的所有子查询在访问每个表时都将共享同一个 StorageSnapshot。
这样可确保整个查询中的数据视图保持一致，即使同一个表被多次访问也是如此。

对于那些需要保证数据分区片段内部一致性的查询，此设置是必需的。示例：

```sql theme={null}
SELECT
    count()
FROM events
WHERE (_part, _part_offset) IN (
    SELECT _part, _part_offset
    FROM events
    WHERE user_id = 42
)
```

如果没有此设置，外层查询和内层查询可能会基于不同的数据快照执行，从而导致结果不正确。

<Note>
  启用此设置后，会禁用一项优化：该优化会在规划阶段完成后，从快照中移除不必要的数据分区片段。
  因此，长时间运行的查询可能会在整个耗时期间一直持有已过时的数据分区片段，从而延迟分区片段清理并增加存储压力。

  此设置目前仅适用于 MergeTree 家族的表。
</Note>

可能的值：

* 0 - 已禁用
* 1 - 已启用

<div id="enable_sharing_sets_for_mutations">
  ## enable\_sharing\_sets\_for\_mutations
</div>

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

允许在同一变更的不同任务之间共享为 IN 子查询构建的 Set 对象。这可以减少内存占用和 CPU 消耗

<div id="enable_streaming_queries">
  ## enable\_streaming\_queries
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "新增设置"}]}]} />

允许 `SELECT ... FROM t STREAM [CURSOR '{...}']` 持续查询。
关闭时，任何使用 `STREAM` 修饰符的表表达式都会在构建执行计划时
被拒绝。这是流式查询功能的总开关；
其他能力也可能受其各自设置的控制。

<div id="enable_time_time64_type">
  ## enable\_time\_time64\_type
</div>

**别名**: `allow_experimental_time_time64_type`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "新设置。允许使用新的 Experimental Time 和 Time64 数据类型。"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "1"},{"label": "默认启用 Time 和 Time64 类型。"}]}]} />

允许创建 [Time](/docs/zh/reference/data-types/time) 和 [Time64](/docs/zh/reference/data-types/time64) 数据类型。

<div id="enable_unaligned_array_join">
  ## enable\_unaligned\_array\_join
</div>

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

允许对多个长度不同的数组使用 ARRAY JOIN。启用此设置后，数组会被调整到与最长数组相同的长度。

<div id="enable_url_encoding">
  ## enable\_url\_encoding
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "更改了现有设置的默认值"}]}]} />

允许在 [URL](/docs/zh/reference/engines/table-engines/special/url) 引擎表中启用或禁用对 URI 中路径的编码/解码。

默认禁用。

<div id="enable_vertical_final">
  ## enable\_vertical\_final
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "1"},{"label": "修复 bug 后，再次默认启用 vertical final"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "1"},{"label": "默认使用 vertical final"}]}]} />

如果启用，则在 FINAL 期间会通过将行标记为已删除并在后续进行过滤来移除重复行，而不是通过合并行来实现

<div id="enable_writes_to_query_cache">
  ## enable\_writes\_to\_query\_cache
</div>

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

启用后，`SELECT` 查询的结果会存储在[查询缓存](/docs/zh/concepts/features/performance/caches/query-cache)中。

可能的值：

* 0 - 禁用
* 1 - 启用
