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

# paramètres de session enable_*

> Paramètres de session ClickHouse du groupe généré 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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </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>
            Fonctionnalité expérimentale. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">En savoir plus.</a></u>
        </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [source](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": "Nouveau paramètre. Active le déversement adaptatif des données en mémoire vers un stockage externe."}]}]} />

Déclenche le processeur pour déverser de manière adaptative les données vers un stockage externe. Seul grace join est actuellement pris en charge.

<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": "Nouveau paramètre permettant de réduire la taille des tables temporaires transférées pour les sous-requêtes `IN` distribuées."}]}]} />

Active `DISTINCT` dans les sous-requêtes `IN`. Ce paramètre implique un compromis : son activation peut réduire considérablement la taille des tables temporaires transférées pour les sous-requêtes `IN` distribuées et accélérer nettement le transfert de données entre les shards, en garantissant que seules des valeurs uniques sont envoyées.
Cependant, l’activation de ce paramètre ajoute des opérations de fusion supplémentaires sur chaque nœud, car la déduplication (`DISTINCT`) doit être effectuée. Utilisez ce paramètre lorsque le transfert réseau constitue un goulot d’étranglement et que le coût supplémentaire de fusion est acceptable.

<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": "Nouveau paramètre"}]}]} />

Si ce paramètre est activé, ClickHouse activera automatiquement cette optimisation lorsque l'expression de la clé de partition est déterministe et que toutes les colonnes utilisées dans cette expression sont incluses dans la clé primaire.
Cette déduction automatique garantit que les lignes ayant les mêmes valeurs de clé primaire appartiendront toujours à la même partition, ce qui permet d'éviter en toute sécurité les fusions entre partitions.

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

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

Active une optimisation de requête qui analyse les résultats des fonctions et des sous-requêtes, puis réécrit la requête si elle contient des constantes

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

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

Active ou désactive le renvoi de résultats de type `Date32` avec une plage étendue (par rapport au type `Date`)
ou de type `DateTime64` avec une plage étendue (par rapport au type `DateTime`).

Valeurs possibles :

* `0` — Les fonctions renvoient `Date` ou `DateTime` pour tous les types d'arguments.
* `1` — Les fonctions renvoient `Date32` ou `DateTime64` pour les arguments `Date32` ou `DateTime64`, et `Date` ou `DateTime` dans les autres cas.

Le tableau ci-dessous montre le comportement de ce paramètre pour différentes fonctions de date et heure.

| Function                  | `enable_extended_results_for_datetime_functions = 0`                                                       | `enable_extended_results_for_datetime_functions = 1`                                                                                                   |
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `toStartOfYear`           | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée `Date32`/`DateTime64`                   |
| `toStartOfISOYear`        | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée de type `Date32`/`DateTime64`   |
| `toStartOfQuarter`        | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée `Date32`/`DateTime64`                   |
| `toStartOfMonth`          | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée de type `Date32`/`DateTime64`   |
| `toStartOfWeek`           | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée de type `Date32`/`DateTime64`   |
| `toLastDayOfWeek`         | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une valeur d’entrée `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une valeur d’entrée `Date32`/`DateTime64` |
| `toLastDayOfMonth`        | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée de type `Date32`/`DateTime64`   |
| `toMonday`                | Renvoie `Date` ou `DateTime`                                                                               | Renvoie `Date`/`DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `Date32`/`DateTime64` pour une entrée de type `Date32`/`DateTime64`   |
| `toStartOfDay`            | Renvoie `DateTime`<br />*Remarque : résultats erronés pour les valeurs hors de la plage 1970-2149*         | Renvoie `DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `DateTime64` pour une entrée de type `Date32`/`DateTime64`                   |
| `toStartOfHour`           | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour les valeurs en dehors de la plage 1970-2149* | Renvoie `DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `DateTime64` pour une entrée de type `Date32`/`DateTime64`                   |
| `toStartOfFifteenMinutes` | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour les valeurs hors de la plage 1970-2149*      | Renvoie `DateTime` pour une entrée en `Date`/`DateTime`<br />Renvoie `DateTime64` pour une entrée en `Date32`/`DateTime64`                             |
| `toStartOfTenMinutes`     | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour les valeurs en dehors de la plage 1970-2149* | Renvoie `DateTime` pour une entrée de type `Date`/`DateTime`<br />Renvoie `DateTime64` pour une entrée de type `Date32`/`DateTime64`                   |
| `toStartOfFiveMinutes`    | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour des valeurs en dehors de la plage 1970-2149* | Renvoie `DateTime` pour une valeur d’entrée de type `Date`/`DateTime`<br />Renvoie `DateTime64` pour une valeur d’entrée de type `Date32`/`DateTime64` |
| `toStartOfMinute`         | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour les valeurs hors de la plage 1970-2149*      | Renvoie `DateTime` pour une entrée `Date`/`DateTime`<br />Renvoie `DateTime64` pour une entrée `Date32`/`DateTime64`                                   |
| `timeSlot`                | Renvoie `DateTime`<br />*Remarque : résultats incorrects pour les valeurs hors de la plage 1970-2149*      | Renvoie `DateTime` pour un argument `Date`/`DateTime`<br />Renvoie `DateTime64` pour un argument `Date32`/`DateTime64`                                 |

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

**Alias** : `allow_experimental_full_text_index`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "L’index de texte est désormais GA"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "0"},{"label": "L’index de texte est passé en Bêta."}]}]} />

Si cette option est définie sur true, l’utilisation de l’index de texte est autorisée.

<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": "Propage par défaut les instructions WITH aux requêtes UNION et à toutes les sous-requêtes"}]}]} />

Propage les instructions WITH aux requêtes UNION et à toutes les sous-requêtes

<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": "Nouveau paramètre."}]}]} />

Active ou désactive `pread` pour les fichiers HDFS. Par défaut, `hdfsPread` est utilisé. S'il est désactivé, `hdfsRead` et `hdfsSeek` sont utilisés pour lire les fichiers 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": "Cela devrait généralement être bénéfique"}]}]} />

Active ou désactive la compression des données dans la réponse à une requête HTTP.

Pour plus d'informations, consultez la [description de l'interface HTTP](/docs/fr/concepts/features/interfaces/http).

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<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": "Nouveau paramètre permettant de contrôler le cache de résolution des identifiants dans l’analyseur de requêtes"}]}]} />

Active le cache de résolution des identifiants dans l’analyseur de requêtes. Le cache partage les nœuds d’alias résolus afin d’éviter une explosion de l’AST lorsque le même alias est utilisé plusieurs fois. Définissez-la sur false pour désactiver la mise en cache si vous suspectez des résultats incorrects.

<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": "Le paramètre a été désactivé par défaut afin d’éviter toute surcharge de performances."}]}, {"id": "row-2","items": [{"label": "24.11"},{"label": "0"},{"label": "Active la collecte des traces de pile lors de l’ordonnancement du job. Désactivé par défaut afin d’éviter toute surcharge de performances."}]}]} />

Affiche la trace de pile du créateur du job lorsque celui-ci entraîne une exception. Désactivé par défaut afin d’éviter toute surcharge de performances.

<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": "Activer par défaut la réplication différée des colonnes dans JOIN et ARRAY JOIN"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Ajouter un paramètre pour activer la réplication différée des colonnes dans JOIN et ARRAY JOIN"}]}]} />

Active la réplication différée des colonnes dans JOIN et ARRAY JOIN. Cela permet d'éviter de copier inutilement plusieurs fois les mêmes lignes en mémoire.

<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": "Nouveau paramètre"}]}]} />

Active les expressions de table communes matérialisées ; ce paramètre est prioritaire sur 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" />

Active la stratégie de fusion des résultats d’agrégation limitée par la mémoire.

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

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

Déplace davantage de conditions de WHERE vers PREWHERE, et effectue les lectures sur disque ainsi que le filtrage en plusieurs étapes s’il y a plusieurs conditions combinées avec AND

<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": "Génère des tuples nommés dans la fonction tuple() lorsque tous les noms sont uniques et peuvent être considérés comme des identifiants non quotés."}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "0"},{"label": "Désactivé dans l’attente d’améliorations ergonomiques"}]}]} />

Génère des tuples nommés dans la fonction tuple() lorsque tous les noms sont uniques et peuvent être considérés comme des identifiants non quotés.

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

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

Active ou désactive le tri à l’aide de la syntaxe `ORDER BY ALL`, voir [ORDER BY](/docs/fr/reference/statements/select/order-by).

Valeurs possibles :

* 0 — Désactive `ORDER BY ALL`.
* 1 — Active `ORDER BY ALL`.

**Exemple**

Requête :

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

Résultat :

```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": "Un nouveau paramètre"}]}]} />

Affecte uniquement les requêtes distribuées. Si cette option est activée, les blocs seront (dé)sérialisés et (dé)compressés sur les threads de pipeline (c.-à-d. avec un parallélisme plus élevé que par défaut) avant/après leur envoi à l’initiateur.

<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": "Nouveau paramètre"}]}]} />

Si la valeur est true, les données peuvent être analysées directement dans des colonnes avec une sérialisation personnalisée (par ex. Sparse), selon les indications de sérialisation obtenues depuis la table.

<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": "Nouveau paramètre"}]}]} />

Permet à l'agrégation économe en mémoire (voir `distributed_aggregation_memory_efficient`) de produire des buckets dans le désordre.
Cela peut améliorer les performances lorsque la taille des buckets d'agrégation est inégale, en permettant à une réplique d'envoyer à l'initiateur des buckets dont les ID sont plus élevés alors qu'elle traite encore des buckets volumineux avec des ID plus faibles.
L'inconvénient est une consommation de mémoire potentiellement plus élevée.

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

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

Si cette option est activée, les résultats des requêtes `SELECT` sont lus depuis le [cache de requêtes](/docs/fr/concepts/features/performance/caches/query-cache).

Valeurs possibles :

* 0 - Désactivé
* 1 - Activé

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

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

Active une journalisation très détaillée des requêtes S3. À utiliser uniquement pour le débogage.

<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": "Empêche les sous-requêtes scalaires de (dé)sérialiser de grandes valeurs scalaires et peut éviter d’exécuter la même sous-requête plusieurs fois"}]}]} />

Si ce paramètre est défini sur true, il empêche les sous-requêtes scalaires de (dé)sérialiser de grandes valeurs scalaires et peut éviter d’exécuter la même sous-requête plusieurs fois.

<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": "Nouveau paramètre pour la rétrocompatibilité avec l’ancien analyseur."}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "1"},{"label": "Nouveau paramètre pour la rétrocompatibilité avec l’ancien analyseur."}]}, {"id": "row-3","items": [{"label": "25.5"},{"label": "1"},{"label": "Nouveau paramètre pour la rétrocompatibilité avec l’ancien analyseur."}]}, {"id": "row-4","items": [{"label": "25.4"},{"label": "1"},{"label": "Nouveau paramètre pour la rétrocompatibilité avec l’ancien analyseur."}]}]} />

Si cette option est désactivée, les déclarations dans les clauses WITH parentes auront la même portée que si elles étaient déclarées dans la portée actuelle.

Notez qu’il s’agit d’un paramètre de compatibilité de l’analyseur permettant d’exécuter certaines requêtes non valides que l’ancien analyseur pouvait exécuter.

<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": "Nouveau paramètre permettant d’activer l’optimisation de `GROUP BY` partitionnée, qui répartit les lignes entre les threads en hachant la clé de regroupement, de sorte que chaque thread agrège un sous-ensemble distinct de clés sans phase de fusion ; cette approche est efficace pour les clés à forte cardinalité lorsque les données sont réparties uniformément."}]}]} />

Active l’optimisation de `GROUP BY` partitionnée, qui répartit les lignes entre les threads en hachant la clé de regroupement, de sorte que chaque thread agrège un sous-ensemble distinct de clés sans phase de fusion.

Cette approche est efficace pour les clés à forte cardinalité lorsque les données sont réparties uniformément, mais peut être moins performante en cas de distribution très déséquilibrée des clés ou de requêtes comportant très peu de clés distinctes.

Valeurs possibles :

* 0 — L’optimisation d’agrégation partitionnée est désactivée.
* 1 — L’optimisation d’agrégation partitionnée est activée.

<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": "Nouveau paramètre permettant de partager l’instantané de stockage dans la requête"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "1"},{"label": "Active par défaut le partage de l’instantané de stockage dans la requête"}]}]} />

Si cette option est activée, toutes les sous-requêtes d’une même requête partageront le même StorageSnapshot pour chaque table.
Cela garantit une vue cohérente des données dans l’ensemble de la requête, même si la même table est accédée plusieurs fois.

Ce paramètre est nécessaire pour les requêtes où la cohérence interne des data parts est importante. Exemple :

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

Sans ce paramètre, la requête externe et la requête interne peuvent s’exécuter sur des instantanés de données différents, ce qui peut entraîner des résultats incorrects.

<Note>
  L’activation de ce paramètre désactive l’optimisation qui supprime les parties de données inutiles des instantanés une fois l’étape de planification terminée.
  Par conséquent, les requêtes de longue durée peuvent conserver des parties obsolètes pendant toute leur exécution, ce qui retarde leur nettoyage et accroît la pression sur le stockage.

  Ce paramètre s’applique actuellement uniquement aux tables de la famille MergeTree.
</Note>

Valeurs possibles :

* 0 - Désactivé
* 1 - Activé

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

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

Autorise le partage des objets Set créés pour les sous-requêtes IN entre différentes tâches d'une même mutation. Cela réduit l'utilisation de la mémoire et la consommation de 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": "Nouveau paramètre"}]}]} />

Autorise les requêtes en continu `SELECT ... FROM t STREAM [CURSOR '{...}']`.
Lorsqu’il est désactivé, toute expression de table utilisant le modificateur `STREAM` est rejetée
lors de la construction du plan. Il s’agit du paramètre de contrôle global de la
fonctionnalité de requêtes en continu ; des capacités supplémentaires peuvent être régies par leurs propres paramètres.

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

**Alias** : `allow_experimental_time_time64_type`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Nouveau paramètre. Permet d’utiliser les nouveaux types de données expérimentaux Time et Time64."}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "1"},{"label": "Active les types Time et Time64 par défaut"}]}]} />

Permet de créer les types de données [Time](/docs/fr/reference/data-types/time) et [Time64](/docs/fr/reference/data-types/time64).

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

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

Autorise ARRAY JOIN sur plusieurs tableaux de tailles différentes. Lorsque ce paramètre est activé, les tableaux sont redimensionnés à la longueur du plus long.

<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": "Modification de la valeur par défaut d’un paramètre existant"}]}]} />

Permet d’activer ou de désactiver le décodage/l’encodage du chemin dans l’URI des tables utilisant le moteur [URL](/docs/fr/reference/engines/table-engines/special/url).

Désactivé par défaut.

<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": "Réactiver vertical final par défaut après correction du bogue"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "1"},{"label": "Utiliser vertical final par défaut"}]}]} />

Si cette option est activée, les lignes dupliquées sont supprimées pendant FINAL en marquant les lignes comme supprimées, puis en les filtrant ultérieurement au lieu de les fusionner

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

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

Lorsqu'il est activé, les résultats des requêtes `SELECT` sont stockés dans le [cache de requêtes](/docs/fr/concepts/features/performance/caches/query-cache).

Valeurs possibles :

* 0 - Désactivé
* 1 - Activé
