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

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

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

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](/docs/ar/reference/system-tables/settings)، وهي مُولَّدة تلقائيًا من [المصدر](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_insert_block_size">
  ## max\_insert\_block\_size
</div>

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

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

الحد الأقصى لحجم الكتل (من حيث عدد الصفوف) التي يجري تكوينها للإدراج في جدول.

يتحكم هذا الإعداد في تكوين الكتل في سياقين:

1. تحليل التنسيق: عندما يُحلِّل الخادم تنسيقات الإدخال المعتمدة على الصفوف (CSV وTSV وJSONEachRow وغيرها) من أي واجهة (HTTP، وclickhouse-client مع بيانات inline، وgRPC، وبروتوكول PostgreSQL wire)، تُخرَج الكتل عندما:

   * يتم بلوغ كلٍّ من min\_insert\_block\_size\_rows وmin\_insert\_block\_size\_bytes، OR
   * يتم بلوغ أحد max\_insert\_block\_size\_rows أو max\_insert\_block\_size\_bytes

   ملاحظة: عند استخدام clickhouse-client أو clickhouse-local للقراءة من ملف، يتولى العميل نفسه تحليل البيانات، ويُطبَّق هذا الإعداد على جهة العميل.

2. عمليات INSERT: أثناء استعلامات INSERT وعندما تتدفق البيانات عبر materialized views، يعتمد سلوك هذا الإعداد على `use_strict_insert_block_limits`:

   * عند التمكين: تُخرَج الكتل عندما:
     * الحدود الدنيا (AND): يتم بلوغ كلٍّ من min\_insert\_block\_size\_rows وmin\_insert\_block\_size\_bytes
     * الحدود القصوى (OR): يتم بلوغ أحد max\_insert\_block\_size\_rows أو max\_insert\_block\_size\_bytes

   * عند التعطيل: تُخرَج الكتل عند بلوغ min\_insert\_block\_size\_rows OR min\_insert\_block\_size\_bytes. ولا يتم فرض إعدادات max\_insert\_block\_size.

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

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

<div id="max_insert_block_size_bytes">
  ## max\_insert\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "إعداد جديد يتيح التحكم في حجم الكتل بالبايت أثناء تحليل البيانات في تنسيق الإدخال Row."}]}]} />

الحد الأقصى لحجم الكتل (بالبايت) التي تُكوَّن لإدراجها في جدول.

يعمل هذا الإعداد مع max\_insert\_block\_size\_rows ويتحكم في تكوين الكتل ضمن السياق نفسه. راجع max\_insert\_block\_size\_rows للحصول على معلومات تفصيلية حول متى وكيفية تطبيق هذه الإعدادات.

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

* عدد صحيح موجب.
* 0 — لا يشارك الإعداد في تكوين الكتل.

<div id="max_insert_delayed_streams_for_parallel_write">
  ## max\_insert\_delayed\_streams\_for\_parallel\_write
</div>

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

الحد الأقصى لعدد التدفقات (الأعمدة) التي يُؤخَّر عندها flush النهائي للجزء. القيمة الافتراضية: تلقائي (100 إذا كانت وحدة التخزين الأساسية تدعم الكتابة المتوازية، مثل S3، ويكون معطّلًا بخلاف ذلك)

القيمة الافتراضية في Cloud: `50`.

<div id="max_insert_threads">
  ## max\_insert\_threads
</div>

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

الحد الأقصى لعدد الخيوط المستخدمة لتنفيذ استعلام `INSERT SELECT`.

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

* 0 (أو 1) — لا يتم تنفيذ `INSERT SELECT` بالتوازي.
* عدد صحيح موجب أكبر من 1.

القيمة الافتراضية في Cloud:

* `1` للعُقد ذات ذاكرة بسعة 8 GiB
* `2` للعُقد ذات ذاكرة بسعة 16 GiB
* `4` للعُقد الأكبر

لا يكون لـ `INSERT SELECT` المتوازي تأثير إلا إذا كان جزء `SELECT` يُنفَّذ بالتوازي. راجع إعداد [`max_threads`](/docs/ar/reference/settings/session-settings/max-threads#max_threads).
ستؤدي القيم الأعلى إلى زيادة استخدام الذاكرة.

<div id="max_insert_threads_min_free_memory_per_thread">
  ## max\_insert\_threads\_min\_free\_memory\_per\_thread
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "4294967296"},{"label": "إعداد جديد لتقييد عدد خيوط الإدراج استنادًا إلى مقدار الذاكرة الحرة المتاحة"}]}]} />

مماثل لـ `max_threads_min_free_memory_per_thread`، لكنه يُطبَّق على `max_insert_threads` بدلًا من `max_threads`. والقيمة الافتراضية هنا أعلى لأن مسارات الإدراج تحتفظ عادةً بمخازن مؤقتة أكبر لكل خيط (مثل أجزاء MergeTree وكتل الضغط) مقارنةً بمسارات القراءة.

إذا كان مقدار الذاكرة الحرة أقل من `max_insert_threads` مضروبًا في هذه القيمة، فسيُخفَّض `max_insert_threads` بما يتناسب مع ذلك، حتى حد أدنى يبلغ `1`.

اضبطه على `0` لتعطيل هذا القيد.
