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

# إعدادات جدول MergeTree الخاصة بـ max_delay_*

> إعدادات جدول MergeTree في ClickHouse ضمن مجموعة max_delay_* المُولَّدة.

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.merge\_tree\_settings](/docs/ar/reference/system-tables/merge_tree_settings)، وتُولَّد تلقائيًا من الشيفرة المصدرية لـ ClickHouse.

<div id="max_delay_to_insert">
  ## max\_delay\_to\_insert
</div>

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

القيمة بالثواني، وتُستخدم لحساب تأخير `INSERT` إذا كان
عدد الأجزاء النشطة في partition واحدة يتجاوز
قيمة [parts\_to\_delay\_insert](/docs/ar/reference/settings/merge-tree-settings/parts-to#parts_to_delay_insert).

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

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

يُحسب تأخير `INSERT` (بالمللي ثانية) باستخدام الصيغة التالية:

```code theme={null}
max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)
```

على سبيل المثال، إذا كان أحد الأقسام يحتوي على 299 جزءًا نشطًا وكان parts\_to\_throw\_insert
\= 300، وparts\_to\_delay\_insert = 150، وmax\_delay\_to\_insert = 1، فإن `INSERT`
يتأخر لمدة `pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000`
مللي ثانية.

ابتداءً من الإصدار 23.1، تغيّرت الصيغة إلى:

```code theme={null}
allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)
```

على سبيل المثال، إذا كان أحد الأقسام يحتوي على 224 جزءًا نشطًا وكان parts\_to\_throw\_insert
\= 300، وparts\_to\_delay\_insert = 150، وmax\_delay\_to\_insert = 1،
وmin\_delay\_to\_insert\_ms = 10، فسيُؤخَّر `INSERT` لمدة `max( 10, 1 * 1000 *
(224 - 150 + 1) / (300 - 150) ) = 500` مللي ثانية.

<div id="max_delay_to_mutate_ms">
  ## max\_delay\_to\_mutate\_ms
</div>

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

الحد الأقصى لتأخير جدول MergeTree الخاضع لعمليات mutation، بالمللي ثانية، إذا كان هناك عدد كبير من عمليات mutation غير المكتملة
