> ## 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 parallel_*

> Paramètres de session ClickHouse du groupe généré parallel_*.

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 BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Fonctionnalité en bêta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        En savoir plus.
                    </a>
                </u>
            </span>
        </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [fichier source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="parallel_distributed_insert_select">
  ## parallel\_distributed\_insert\_select
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.7"},{"label": "2"},{"label": "Active parallel distributed insert select par défaut"}]}]} />

Active l'exécution parallèle des requêtes distribuées `INSERT ... SELECT`.

Si nous exécutons des requêtes `INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b`, que les deux tables utilisent le même cluster et qu'elles sont toutes deux soit [répliquées](/docs/fr/reference/engines/table-engines/mergetree-family/replication), soit non répliquées, alors la requête est traitée localement sur chaque shard.

Valeurs possibles :

* `0` — Désactivé.
* `1` — `SELECT` sera exécuté sur chaque shard à partir de la table sous-jacente du moteur Distributed.
* `2` — `SELECT` et `INSERT` seront exécutés sur chaque shard, respectivement depuis/vers la table sous-jacente du moteur Distributed.

Depuis la v25.4, `INSERT ... SELECT` à partir d'une source `ReplicatedMergeTree` ou `SharedMergeTree` peut également être parallélisé entre les répliques. Pour l'activer :

* `parallel_distributed_insert_select = 2`
* `enable_parallel_replicas = 1`

<div id="parallel_hash_join_threshold">
  ## parallel\_hash\_join\_threshold
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "100000"},{"label": "Nouveau paramètre"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Nouveau paramètre"}]}, {"id": "row-3","items": [{"label": "25.3"},{"label": "0"},{"label": "Nouveau paramètre"}]}]} />

Lorsque l'algorithme de jointure basé sur le hachage est utilisé, ce seuil permet de choisir entre `hash` et `parallel_hash` (uniquement si une estimation de la taille de la table de droite est disponible).
Le premier est utilisé lorsque l'on sait que la taille de la table de droite est inférieure au seuil.

<div id="parallel_non_joined_rows_processing">
  ## parallel\_non\_joined\_rows\_processing
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "Nouveau paramètre permettant d'activer le traitement en parallèle des lignes sans correspondance dans les JOIN RIGHT/FULL `parallel_hash`."}]}]} />

Permet à plusieurs threads de traiter en parallèle les lignes sans correspondance de la table de droite lors des JOIN RIGHT et FULL.
Cela peut accélérer cette phase lors de l'utilisation de l'algorithme de jointure `parallel_hash` avec de grandes tables.
Lorsqu'il est désactivé, les lignes sans correspondance sont traitées par un seul thread.

<div id="parallel_replica_offset">
  ## parallel\_replica\_offset
</div>

<BetaBadge />

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

Il s'agit d'un paramètre interne qui ne doit pas être utilisé directement et qui correspond à un détail d'implémentation du mode « répliques parallèles ». Ce paramètre sera automatiquement défini par le serveur initiateur, pour les requêtes distribuées, sur l'index de la réplique participant au traitement de la requête parmi les répliques parallèles.

<div id="parallel_view_processing">
  ## parallel\_view\_processing
</div>

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

Active l'envoi concurrent vers les vues attachées au lieu d'un envoi séquentiel.
