max_insert_block_size
max_insert_block_size_rows
الحد الأقصى لحجم الكتل (من حيث عدد الصفوف) التي يجري تكوينها للإدراج في جدول.
يتحكم هذا الإعداد في تكوين الكتل في سياقين:
-
تحليل التنسيق: عندما يُحلِّل الخادم تنسيقات الإدخال المعتمدة على الصفوف (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
-
عمليات 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.
-
عند التمكين: تُخرَج الكتل عندما:
- عدد صحيح موجب.
max_insert_block_size_bytes
- عدد صحيح موجب.
- 0 — لا يشارك الإعداد في تكوين الكتل.
max_insert_delayed_streams_for_parallel_write
50.
max_insert_threads
INSERT SELECT.
القيم الممكنة:
- 0 (أو 1) — لا يتم تنفيذ
INSERT SELECTبالتوازي. - عدد صحيح موجب أكبر من 1.
1للعُقد ذات ذاكرة بسعة 8 GiB2للعُقد ذات ذاكرة بسعة 16 GiB4للعُقد الأكبر
INSERT SELECT المتوازي تأثير إلا إذا كان جزء SELECT يُنفَّذ بالتوازي. راجع إعداد max_threads.
ستؤدي القيم الأعلى إلى زيادة استخدام الذاكرة.
max_insert_threads_min_free_memory_per_thread
max_threads_min_free_memory_per_thread، لكنه يُطبَّق على max_insert_threads بدلًا من max_threads. والقيمة الافتراضية هنا أعلى لأن مسارات الإدراج تحتفظ عادةً بمخازن مؤقتة أكبر لكل خيط (مثل أجزاء MergeTree وكتل الضغط) مقارنةً بمسارات القراءة.
إذا كان مقدار الذاكرة الحرة أقل من max_insert_threads مضروبًا في هذه القيمة، فسيُخفَّض max_insert_threads بما يتناسب مع ذلك، حتى حد أدنى يبلغ 1.
اضبطه على 0 لتعطيل هذا القيد.