> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# join_runtime_* إعدادات الجلسة

> إعدادات جلسة ClickHouse ضمن المجموعة المُنشأة join_runtime_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "التعليق"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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

هذه الإعدادات متاحة في [system.settings](/ar/reference/system-tables/settings)، وهي مُولَّدة تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## join\_runtime\_bloom\_filter\_bytes

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "524288"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة من فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "524288"},{"label": "إعداد جديد"}]}]} />

حجم مرشح بلوم، بالبايت، المستخدم كعامل تصفية وقت التشغيل لـ JOIN (راجع الإعداد enable\_join\_runtime\_filters).

## join\_runtime\_bloom\_filter\_hash\_functions

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "3"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة ضمن فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "3"},{"label": "إعداد جديد"}]}]} />

عدد دوال التجزئة في مرشح بلوم المستخدم كعامل تصفية وقت التشغيل لـ JOIN (راجع الإعداد enable\_join\_runtime\_filters).

## join\_runtime\_bloom\_filter\_max\_ratio\_of\_set\_bits

<SettingsInfoBlock type="Double" default_value="0.7" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0.7"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة ضمن فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "26.1"},{"label": "0.7"},{"label": "إعداد جديد"}]}]} />

إذا تجاوز عدد البتات المفعّلة في مرشح بلوم وقت التشغيل هذه النسبة، فسيتم تعطيل المرشح بالكامل لتقليل العبء الإضافي.

## join\_runtime\_filter\_blocks\_to\_skip\_before\_reenabling

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "30"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة ضمن فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "26.1"},{"label": "30"},{"label": "إعداد جديد"}]}]} />

عدد الكتل التي يتم تجاوزها قبل محاولة إعادة تمكين عامل تصفية وقت التشغيل ديناميكيًا، بعد أن كان قد عُطِّل سابقًا بسبب انخفاض نسبة التصفية.

## join\_runtime\_filter\_exact\_values\_limit

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "10000"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة ضمن فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "10000"},{"label": "إعداد جديد"}]}]} />

الحد الأقصى لعدد العناصر في مرشح وقت التشغيل التي تُخزَّن كما هي في Set؛ وعند تجاوز هذه العتبة، يتم التبديل إلى مرشح بلوم.

## join\_runtime\_filter\_from\_fixed\_hash\_table

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "إعداد جديد."}]}]} />

عند تحويل جانب البناء في `hash join` إلى `FixedHashMap` (راجع `enable_join_fixed_hash_table_conversion`)، استخدم خريطة التجزئة هذه مباشرةً كعامل تصفية وقت التشغيل.

## join\_runtime\_filter\_min\_probe\_rows

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "1000"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة من فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "26.8"},{"label": "1000"},{"label": "إعداد جديد للتحكم في الحد الأدنى لحجم جانب الفحص لتثبيت عوامل تصفية JOIN وقت التشغيل. لم يكن هناك حد سابقًا، لذا كانت القيمة السابقة 0، أي تثبيت العامل دائمًا."}]}]} />

إذا قُدّر، عند تخطيط الاستعلام، أن جانب الفحص في JOIN لن ينتج أكثر من هذا العدد من الصفوف، فلن يُنشأ عامل تصفية وقت التشغيل لـ JOIN. إذ إن إنشاء عامل تصفية وقت التشغيل وتطبيقه على جانب فحص صغير جدًا يكلّف أكثر مما يوفّره. اضبط القيمة على 0 لإنشاء عامل تصفية وقت التشغيل دائمًا، بغض النظر عن حجم جانب الفحص المقدّر.

## join\_runtime\_filter\_pass\_ratio\_threshold\_for\_disabling

<SettingsInfoBlock type="Double" default_value="0.7" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0.7"},{"label": "أصبحت عوامل تصفية JOIN وقت التشغيل ميزة من فئة الإنتاج."}]}, {"id": "row-2","items": [{"label": "26.1"},{"label": "0.7"},{"label": "إعداد جديد"}]}]} />

إذا كانت نسبة الصفوف الممرَّرة إلى الصفوف التي جرى التحقق منها أكبر من هذه العتبة، فسيُعتبر عامل تصفية وقت التشغيل ضعيف الأداء، وسيُعطَّل خلال الكتل `join_runtime_filter_blocks_to_skip_before_reenabling` التالية لتقليل العبء الإضافي.

## join\_runtime\_filter\_size\_from\_hash\_table\_stats

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "يستخدم إحصاءات حجم جدول تجزئة التي جُمعت من عمليات التنفيذ السابقة لتحديد حجم عامل تصفية JOIN وقت التشغيل. وعند تعطيله، يُستخدم `join_runtime_bloom_filter_bytes` الثابت كخيار بديل."}]}]} />

يستخدم إحصاءات حجم جدول تجزئة التي جُمعت من عمليات التنفيذ السابقة لتحديد حجم عامل تصفية JOIN وقت التشغيل. وعند تعطيله، يُستخدم `join_runtime_bloom_filter_bytes` الثابت كخيار بديل.
