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

# إعدادات الجلسة لـ merge_tree_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُولَّدة merge_tree_*.

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 CloudOnlyBadge = () => {
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'متاح فقط في ClickHouse Cloud'}
        </div>;
};

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

<div id="merge_tree_coarse_index_granularity">
  ## merge\_tree\_coarse\_index\_granularity
</div>

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

عند البحث عن البيانات، يتحقق ClickHouse من علامات البيانات في ملف الفهرس. وإذا وجد ClickHouse أن المفاتيح المطلوبة تقع ضمن نطاق معيّن، فإنه يقسم هذا النطاق إلى `merge_tree_coarse_index_granularity` نطاقات فرعية ويبحث فيها عن المفاتيح المطلوبة بصورة تعاودية.

القيم الممكنة:

* أي عدد صحيح زوجي موجب.

<div id="merge_tree_compact_parts_min_granules_to_multibuffer_read">
  ## merge\_tree\_compact\_parts\_min\_granules\_to\_multibuffer\_read
</div>

<CloudOnlyBadge />

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

لا يكون له تأثير إلا في ClickHouse Cloud. يحدد عدد الـ granules في stripe ضمن compact part في جداول MergeTree اللازمة لاستخدام قارئ multibuffer، الذي يدعم القراءة المتوازية وprefetch. عند القراءة من remote fs، يؤدي استخدام قارئ multibuffer إلى زيادة عدد طلبات القراءة. ويُقرأ الجزء باستخدام buffer واحد إذا كان يحتوي على عدد granules أقل من هذه العتبة، وأيضًا أقل من عدد الأعمدة التي تتم قراءتها، لأن قارئ الـ buffer الواحد في هذه الحالة يُصدر طلبات قراءة أقل من قارئ multibuffer.

<div id="merge_tree_determine_task_size_by_prewhere_columns">
  ## merge\_tree\_determine\_task\_size\_by\_prewhere\_columns
</div>

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

ما إذا كان سيتم استخدام حجم أعمدة `prewhere` فقط لتحديد حجم مهمة القراءة.

<div id="merge_tree_generic_exclusion_search_max_steps">
  ## merge\_tree\_generic\_exclusion\_search\_max\_steps
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "إعداد جديد لتقييد عدد خطوات خوارزمية البحث العام بالاستبعاد على فهرس المفتاح الأساسي."}]}]} />

عندما يتعذر تقييم عامل التصفية على أنه نطاق متصل واحد للمفتاح الأساسي، على سبيل المثال عند استخدام أعمدة مفتاحية غير العمود الأول، يشغّل ClickHouse خوارزمية تكرارية للبحث العام بالاستبعاد على علامات الفهرس. وتُستخدم الخوارزمية نفسها أيضًا لتحليل الفهرس النصي. يقيّد هذا الإعداد عدد الخطوات (فحوصات الفهرس) التي تنفذها الخوارزمية لكل data part.

تُستهلك الحصة أولًا على أكبر mark ranges متبقية. وعند نفادها، تُقبل النطاقات التي لم تُحلَّل بالكامل كما هي، بحيث يظل query صحيحًا، لكنه قد يقرأ granules أكثر مما قد يحدده بحث غير محدود. وتؤدي الحصة الأقل إلى تسريع تحليل الفهرس على حساب قراءة مزيد من البيانات. وهذا الحد تقريبي وليس حدًا أقصى صارمًا لتكلفة التحليل: إذ يمكن أن يتجاوزه البحث بنحو جولة تقسيم واحدة، وعندما يكون الجزء مقسمًا بالفعل إلى نطاقات كثيرة (على سبيل المثال، بواسطة query condition cache)، يُفحص كل منها مرة واحدة على الأقل بغض النظر عن الحد.

يُبلَّغ عن عدد الخطوات التي نفذها البحث لكل data part في رسائل السجل الخاصة بـ query على مستوى `trace`، كما يحصي حدثا profile `IndexGenericExclusionSearchStepLimitReached` و`TextIndexGenericExclusionSearchStepLimitReached` عدد مرات نفاد الحصة.

تعني القيمة (الافتراضية) 0 أن عدد الخطوات غير محدود.

Possible values:

* 0 لعدد غير محدود من الخطوات، أو أي عدد صحيح موجب.

<div id="merge_tree_max_bytes_to_use_cache">
  ## merge\_tree\_max\_bytes\_to\_use\_cache
</div>

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

إذا كان ClickHouse سيقرأ أكثر من `merge_tree_max_bytes_to_use_cache` بايت في استعلام واحد، فلن يستخدم ذاكرة التخزين المؤقت للكتل غير المضغوطة.

تخزن ذاكرة التخزين المؤقت للكتل غير المضغوطة البيانات المستخرجة للاستعلامات. يستخدم ClickHouse ذاكرة التخزين المؤقت هذه لتسريع الاستجابات للاستعلامات الصغيرة المتكررة. يحمي هذا الإعداد ذاكرة التخزين المؤقت من التدهور بسبب الاستعلامات التي تقرأ كمية كبيرة من البيانات. يحدد إعداد الخادم [uncompressed\_cache\_size](/docs/ar/reference/settings/server-settings/settings#uncompressed_cache_size) حجم ذاكرة التخزين المؤقت للكتل غير المضغوطة.

القيم الممكنة:

* أي عدد صحيح موجب.

<div id="merge_tree_max_rows_to_use_cache">
  ## merge\_tree\_max\_rows\_to\_use\_cache
</div>

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

إذا احتاج ClickHouse إلى قراءة أكثر من `merge_tree_max_rows_to_use_cache` صفًا في استعلام واحد، فلن يستخدم ذاكرة التخزين المؤقت للكتل غير المضغوطة.

تخزّن ذاكرة التخزين المؤقت للكتل غير المضغوطة البيانات المستخرجة للاستعلامات. يستخدم ClickHouse هذه الذاكرة المؤقتة لتسريع الاستجابة للاستعلامات الصغيرة المتكررة. يحمي هذا الإعداد الذاكرة المؤقتة من التدهور بسبب الاستعلامات التي تقرأ كمية كبيرة من البيانات. يحدّد إعداد الخادم [uncompressed\_cache\_size](/docs/ar/reference/settings/server-settings/settings#uncompressed_cache_size) حجم ذاكرة التخزين المؤقت للكتل غير المضغوطة.

القيم الممكنة:

* أي عدد صحيح موجب.

<div id="merge_tree_min_bytes_for_concurrent_read">
  ## merge\_tree\_min\_bytes\_for\_concurrent\_read
</div>

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

إذا تجاوز عدد البايتات المطلوب قراءتها من ملف واحد في جدول يستخدم محرك [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree) القيمة `merge_tree_min_bytes_for_concurrent_read`، فسيحاول ClickHouse قراءة هذا الملف بالتوازي باستخدام عدة خيوط تنفيذ.

القيمة الممكنة:

* عدد صحيح موجب.

<div id="merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem">
  ## merge\_tree\_min\_bytes\_for\_concurrent\_read\_for\_remote\_filesystem
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "تم إهمال الإعداد"}]}]} />

الحد الأدنى لعدد البايتات المطلوب قراءتها من ملف واحد قبل أن يتمكن محرك [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree) من موازاة القراءة عند القراءة من نظام ملفات بعيد. لا نوصي باستخدام هذا الإعداد.

القيم الممكنة:

* عدد صحيح موجب.

<div id="merge_tree_min_bytes_for_seek">
  ## merge\_tree\_min\_bytes\_for\_seek
</div>

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

إذا كانت المسافة بين كتلتَي بيانات مطلوب قراءتهما في ملف واحد أقل من `merge_tree_min_bytes_for_seek` بايت، فسيقرأ ClickHouse تسلسليًا نطاقًا من الملف يضم كلتا الكتلتين، ما يتجنب إجراء `seek` إضافي.

القيم الممكنة:

* أي عدد صحيح موجب.

<div id="merge_tree_min_bytes_per_task_for_remote_reading">
  ## merge\_tree\_min\_bytes\_per\_task\_for\_remote\_reading
</div>

**الأسماء البديلة**: `filesystem_prefetch_min_bytes_for_single_read_task`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "2097152"},{"label": "تم توحيد القيمة مع `filesystem_prefetch_min_bytes_for_single_read_task`"}]}]} />

الحد الأدنى لعدد البايتات المقروءة لكل مهمة.

<div id="merge_tree_min_read_task_size">
  ## merge\_tree\_min\_read\_task\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="8" />

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

حدٌّ أدنى صارم لحجم المهمة (حتى عندما يكون عدد الحبيبات منخفضًا وعدد خيوط التنفيذ المتاحة مرتفعًا، فلن نخصص مهام أصغر

<div id="merge_tree_min_rows_for_concurrent_read">
  ## merge\_tree\_min\_rows\_for\_concurrent\_read
</div>

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

إذا تجاوز عدد الصفوف المطلوب قراءتها من ملف لجدول [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree) القيمة `merge_tree_min_rows_for_concurrent_read`، فسيحاول ClickHouse إجراء قراءة متزامنة من هذا الملف باستخدام عدة خيوط تنفيذ.

القيم الممكنة:

* عدد صحيح موجب.

<div id="merge_tree_min_rows_for_concurrent_read_for_remote_filesystem">
  ## merge\_tree\_min\_rows\_for\_concurrent\_read\_for\_remote\_filesystem
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "تم إهمال الإعداد"}]}]} />

الحد الأدنى لعدد الأسطر التي يجب قراءتها من ملف واحد قبل أن يتمكّن محرك [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree) من موازاة القراءة عند القراءة من نظام ملفات بعيد. لا نوصي باستخدام هذا الإعداد.

القيم الممكنة:

* عدد صحيح موجب.

<div id="merge_tree_min_rows_for_seek">
  ## merge\_tree\_min\_rows\_for\_seek
</div>

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

إذا كانت المسافة بين كتلتَي البيانات المراد قراءتهما في ملف واحد أقل من `merge_tree_min_rows_for_seek` صفًا، فلن ينتقل ClickHouse إلى موضع قراءة آخر داخل الملف، بل سيقرأ البيانات بشكل تسلسلي.

القيم الممكنة:

* أي عدد صحيح موجب.

<div id="merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability">
  ## merge\_tree\_read\_split\_ranges\_into\_intersecting\_and\_non\_intersecting\_injection\_probability
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "لاختبار `PartsSplitter` - تقسيم نطاقات القراءة إلى نطاقات متداخلة وغير متداخلة عند كل قراءة من MergeTree بالاحتمال المحدد."}]}]} />

لاختبار `PartsSplitter` - قسّم نطاقات القراءة إلى نطاقات متداخلة وغير متداخلة عند كل قراءة من MergeTree بالاحتمال المحدد.

<div id="merge_tree_storage_snapshot_sleep_ms">
  ## merge\_tree\_storage\_snapshot\_sleep\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "إعداد جديد لتصحيح اتساق لقطة التخزين في query"}]}]} />

يُدرِج تأخيرًا اصطناعيًا (بالملي ثانية) عند إنشاء لقطة تخزين لجداول MergeTree.
يُستخدم لأغراض الاختبار وتصحيح الأخطاء فقط.

القيم الممكنة:

* 0 - بدون تأخير (الافتراضي)
* N - تأخير بالملي ثانية

<div id="merge_tree_use_const_size_tasks_for_remote_reading">
  ## merge\_tree\_use\_const\_size\_tasks\_for\_remote\_reading
</div>

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

ما إذا كان سيتم استخدام مهام ذات حجم ثابت للقراءة من جدول بعيد.

<div id="merge_tree_use_deserialization_prefixes_cache">
  ## merge\_tree\_use\_deserialization\_prefixes\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "إعداد جديد للتحكم في استخدام ذاكرة التخزين المؤقت لبادئات إلغاء التسلسل في MergeTree"}]}]} />

يُمكّن التخزين المؤقت للبيانات الوصفية للأعمدة من بادئات الملفات عند القراءة من الأقراص البعيدة في MergeTree.

<div id="merge_tree_use_prefixes_deserialization_thread_pool">
  ## merge\_tree\_use\_prefixes\_deserialization\_thread\_pool
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "إعداد جديد يتحكم في استخدام مجموعة مؤشرات الترابط لإلغاء تسلسل البوادئ بشكل متوازٍ في MergeTree"}]}]} />

يُمكّن استخدام مجموعة مؤشرات الترابط للقراءة المتوازية للبوادئ في أجزاء Wide ضمن MergeTree. ويُتحكَّم في حجم مجموعة مؤشرات الترابط هذه من خلال إعداد الخادم `max_prefixes_deserialization_thread_pool_size`.

<div id="merge_tree_use_v1_object_and_dynamic_serialization">
  ## merge\_tree\_use\_v1\_object\_and\_dynamic\_serialization
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "إضافة الإصدار الجديد V2 من التسلسل لأنواع JSON وDynamic"}]}]} />

عند تمكين هذا الإعداد، سيُستخدم إصدار التسلسل V1 لأنواع JSON وDynamic في MergeTree بدلًا من V2. لا يُطبَّق تغيير هذا الإعداد إلا بعد إعادة تشغيل الخادم.
