هذه الإعدادات متاحة في system.merge_tree_settings، وتُولَّد تلقائيًا من الشيفرة المصدرية لـ ClickHouse.
max_delay_to_insert
القيمة بالثواني، وتُستخدم لحساب تأخير INSERT إذا كان
عدد الأجزاء النشطة في partition واحدة يتجاوز
قيمة parts_to_delay_insert.
القيم الممكنة:
- أي عدد صحيح موجب.
يُحسب تأخير INSERT (بالمللي ثانية) باستخدام الصيغة التالية:
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، تغيّرت الصيغة إلى:
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 مللي ثانية.
max_delay_to_mutate_ms
الحد الأقصى لتأخير جدول MergeTree الخاضع لعمليات mutation، بالمللي ثانية، إذا كان هناك عدد كبير من عمليات mutation غير المكتملة