Skip to main content
هذه الإعدادات متاحة في system.settings، ويجري توليدها تلقائيًا من الشفرة المصدرية.

max_streams_for_files_processing_in_cluster_functions

إذا لم تكن القيمة صفراً، فسيتم تقييد عدد خيوط التنفيذ التي تقرأ البيانات من الملفات في دوال الجدول Cluster.

max_streams_for_merge_tree_reading

إذا لم تكن القيمة صفراً، فسيُحدَّد عدد تدفقات القراءة لجدول MergeTree.

max_streams_for_union_step

يقيّد عدد تدفقات البيانات النشطة بالتزامن في خطوة UNION (وينطبق ذلك على كلٍّ من UNION ALL وUNION DISTINCT، لأن UNION DISTINCT يُنفَّذ عبر خطوة UNION ALL تليها خطوة DISTINCT). عندما يحتوي استعلام UNION على عدد كبير من الاستعلامات الفرعية، فإنها تفتح جميعًا مخازن القراءة المؤقتة الخاصة بها في الوقت نفسه، مما يؤدي إلى استهلاك ذاكرة يتناسب مع عدد الاستعلامات الفرعية. يُدرج هذا الإعداد معالجات Concat لتضييق خط الأنابيب بحيث لا يكون هناك أكثر من هذا العدد من التدفقات النشطة في الوقت نفسه، مما يقلل ذروة الذاكرة بشكل كبير. والحد الفعلي هو القيمة الصغرى بين هذه القيمة وmax_threads * max_streams_for_union_step_to_max_threads_ratio (إذا كانت أيٌّ منهما تساوي 0 فهذا يعني تجاهلها). وعندما تكون كلتاهما 0، لا يُطبَّق أي تضييق. كذلك لا يُطبَّق هذا الحد عندما تتطلب خطة الاستعلام أن يظل كل تدفق خرج من UNION مرتَّبًا بصورة مستقلة (على سبيل المثال، عند تطبيق تحسين read-in-order عبر UNION)؛ ففي هذه الحالة تكون صحة الترتيب هي الأولوية ويُتجاوز التضييق.

max_streams_for_union_step_to_max_threads_ratio

تحدّد هذه النسبة، عند ضربها في max_threads، حدًا أقصى لعدد التدفقات النشطة بالتزامن في خطوة UNION (وينطبق ذلك على كلٍّ من UNION ALL وUNION DISTINCT). والحد الفعلي هو أصغر قيمة بين هذه القيمة المحسوبة وmax_streams_for_union_step (وإذا كانت قيمة أيٍّ منهما 0، فسيتم تجاهلها). على سبيل المثال، إذا كان max_threads = 8 وتم ضبط هذه النسبة على 1، فسيكون الحد الأقصى لعدد التدفقات النشطة 8. اضبطها على 0 لتعطيل هذا الحد المستند إلى النسبة. وكما هو الحال مع max_streams_for_union_step، لا يُطبَّق هذا الحد عندما تتطلب خطة الاستعلام أن يظل كل تدفق خرج من UNION مرتبًا على حدة.

max_streams_multiplier_for_merge_tables

اطلب عددًا أكبر من التدفقات عند القراءة من Merge table. ستُوزَّع التدفقات عبر الجداول التي يستخدمها Merge table. يتيح ذلك توزيع العمل بشكل أكثر توازنًا عبر خيوط التنفيذ، ويكون مفيدًا بشكل خاص عندما تختلف هذه الجداول في الحجم.

max_streams_to_max_threads_ratio

يسمح لك باستخدام عدد من المصادر يفوق عدد خيوط التنفيذ، لتوزيع العمل بينها بصورة أكثر توازنًا. ويُفترض أن هذا حل مؤقت، إذ سيكون من الممكن مستقبلًا جعل عدد المصادر مساويًا لعدد خيوط التنفيذ، على أن يختار كل مصدر العمل المتاح له ديناميكيًا.
آخر تعديل في ٢٣ يوليو ٢٠٢٦