Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة max_bytes_*

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

max_bytes_before_external_group_by

النوع
UInt64
القيمة الافتراضية
0

القيمة الافتراضية في Cloud: نصف سعة الذاكرة لكل نسخة متماثلة.

يؤدي إلى تفعيل أو تعطيل تنفيذ عبارات GROUP BY باستخدام الذاكرة الخارجية. (راجع GROUP BY في الذاكرة الخارجية)

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

  • الحد الأقصى من ذاكرة RAM (بالبايت) الذي يمكن أن تستخدمه عملية GROUP BY واحدة.
  • 0 — تعطيل GROUP BY في الذاكرة الخارجية.

max_bytes_before_external_join

النوع
UInt64
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.40إعداد جديد للتحكم في الكتابة التلقائية لـ hash joins إلى القرص. تؤدي القيمة غير الصفرية إلى تفعيل ذلك وتحديد عتبة البايتات.

إذا تم تعيينه إلى قيمة غير صفرية وكان join_algorithm هو hash أو parallel_hash أو default أو auto، فسيتم تلقائيًا تحويل hash join إلى grace hash join لتمكين الكتابة إلى القرص عندما تتجاوز البيانات الموجودة على الجانب الأيمن هذا العدد من البايتات. وعند تعيينه إلى 0 (القيمة الافتراضية)، يتم تعطيل عتبة البايتات المطلقة هذه، ولكن قد تظل الكتابة التلقائية إلى القرص تحدث عبر max_bytes_ratio_before_external_join (الذي تبلغ قيمته الافتراضية 0.5)؛ اضبط كليهما على 0 لتعطيل الكتابة التلقائية إلى القرص بالكامل. وهو يمنع تحسين القراءة بالترتيب عبر join.

max_bytes_before_external_sort

النوع
UInt64
القيمة الافتراضية
0

قيمة Cloud الافتراضية: نصف مقدار الذاكرة لكل نسخة متماثلة.

يؤدي إلى تمكين أو تعطيل تنفيذ عبارات ORDER BY باستخدام الذاكرة الخارجية. راجع تفاصيل تنفيذ ORDER BY إذا تجاوز استهلاك الذاكرة أثناء عملية ORDER BY هذه العتبة بالبايت، فسيتم تفعيل وضع "الفرز الخارجي" (كتابة البيانات المرحلية إلى القرص).

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

  • الحد الأقصى لحجم RAM (بالبايت) الذي يمكن أن تستخدمه عملية ORDER BY واحدة. القيمة الموصى بها هي نصف ذاكرة النظام المتاحة
  • 0 — تعطيل ORDER BY باستخدام الذاكرة الخارجية.

max_bytes_before_remerge_sort

النوع
UInt64
القيمة الافتراضية
1000000000

في حالة استخدام ORDER BY مع LIMIT، وعندما يتجاوز استخدام الذاكرة العتبة المحددة، تُنفَّذ خطوات إضافية لدمج الكتل قبل الدمج النهائي للإبقاء فقط على أول LIMIT صفوف.

max_bytes_for_lazy_final

النوع
UInt64
القيمة الافتراضية
256000000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.4256000000إعداد جديد للحد الأقصى لعدد البايتات في المجموعة ضمن تحسين FINAL المؤجل

الحد الأقصى لعدد البايتات في المجموعة ضمن تحسين FINAL المؤجل. وإذا تم تجاوزه، فسيتم الرجوع إلى FINAL العادي.

max_bytes_in_distinct

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى لعدد بايتات الحالة في الذاكرة (بالبايتات غير المضغوطة) التي يستخدمها جدول تجزئة عند استخدام DISTINCT.

max_bytes_in_join

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى للحجم بالبايت لبنية بيانات الجانب الأيمن (عادةً جدول تجزئة) المستخدَمة عند تنفيذ ربط الجداول.

ينطبق هذا الإعداد على عمليات SELECT … JOIN وعلى Join table engine.

إذا كان الاستعلام يحتوي على عدة عمليات JOIN، فإن ClickHouse يفحص هذا الإعداد لكل نتيجة وسيطة. وعند بلوغ الحد، يعتمد الإجراء على قيمة join_algorithm المختارة — راجع ذلك الإعداد لمعرفة السلوك الخاص بكل خوارزمية (spill، أو إعادة التقسيم، أو التبديل، أو throw/break وفقًا لـ join_overflow_mode).

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

  • عدد صحيح موجب.
  • 0 — يكون التحكم في الذاكرة معطّلًا.

max_bytes_in_set

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى لعدد البايتات (من بيانات غير مضغوطة) التي تستخدمها المجموعة في العبارة IN والناتجة عن استعلام فرعي.

max_bytes_ratio_before_external_group_by

النوع
Double
القيمة الافتراضية
0.5
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.10.5تمكين الكتابة التلقائية إلى القرص افتراضيًا.
24.120إعداد جديد.

النسبة من الذاكرة المتاحة التي يُسمح لـ GROUP BY باستخدامها. وعند بلوغها، تُستخدَم الذاكرة الخارجية في التجميع.

على سبيل المثال، إذا ضُبطت على 0.6، فسيسمح GROUP BY باستخدام 60% من الذاكرة المتاحة (لـ server/user/merges) في بداية التنفيذ، وبعد ذلك سيبدأ باستخدام التجميع الخارجي.

max_bytes_ratio_before_external_join

النوع
Double
القيمة الافتراضية
0.5
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.50.5إعداد جديد: نسبة الذاكرة المتاحة المستخدمة كعتبة للكتابة إلى القرص في hash joins. يكون مُمكّنًا افتراضيًا عند `0.5`، بما يماثل `max_bytes_ratio_before_external_group_by` و`max_bytes_ratio_before_external_sort`. ويُستخدم مع القيمة المطلقة `max_bytes_before_external_join` (وتُطبَّق القيمة الأصغر بينهما).

هي نسبة الذاكرة المتاحة المسموح باستخدامها لـ JOIN. وعند بلوغها، سيُحوَّل hash join إلى grace hash join لكتابة بيانات الجانب الأيمن إلى القرص.

على سبيل المثال، إذا ضُبطت على 0.6، فسيسمح JOIN باستخدام 60% من الذاكرة المتاحة (للخادم/المستخدم/عمليات الدمج) لجدول تجزئة للجانب الأيمن في بداية التنفيذ؛ وبعد ذلك تبدأ الكتابة إلى القرص.

إذا جرى تعيين كلٍّ من max_bytes_before_external_join وmax_bytes_ratio_before_external_join، فستُستخدم عتبة النتيجة الأصغر. وإذا كانت النسبة 0، فلن يُطبَّق إلا الإعداد المطلق.

لا يكون له تأثير إلا عندما تكون join_algorithm هي hash أو parallel_hash أو default أو auto ويكون قد جرى تهيئة مسار بيانات مؤقت.

max_bytes_ratio_before_external_sort

النوع
Double
القيمة الافتراضية
0.5
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.10.5تمكين الكتابة التلقائية إلى القرص افتراضيًا.
24.120إعداد جديد.

النسبة من الذاكرة المتاحة المسموح باستخدامها لعملية ORDER BY. وعند بلوغ هذا الحد، يُستخدم الفرز الخارجي.

على سبيل المثال، إذا ضُبطت على 0.6، فسيسمح ORDER BY باستخدام 60% من الذاكرة المتاحة (للـ server/user/merges) في بداية التنفيذ، وبعد ذلك سيبدأ باستخدام الفرز الخارجي.

لاحظ أن max_bytes_before_external_sort يظل معمولًا به، ولن تتم الكتابة إلى القرص إلا إذا كانت كتلة الفرز أكبر من max_bytes_before_external_sort.

max_bytes_to_read

النوع
UInt64
القيمة الافتراضية
0

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

max_bytes_to_read_leaf

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى لعدد البايتات (من البيانات غير المضغوطة) التي يمكن قراءتها من جدول محلي على عقدة طرفية عند تنفيذ استعلام موزع. ومع أن الاستعلامات الموزعة قد تُصدر عدة استعلامات فرعية لكل shard (طرفية)، فلن يُفحص هذا الحد إلا في مرحلة القراءة على العقد الطرفية، وسيُتجاهل في مرحلة دمج النتائج على العقدة الجذرية.

على سبيل المثال، إذا كان العنقود يتكوّن من 2 shard وكان كل shard يحتوي على جدول فيه 100 بايت من البيانات، فإن استعلامًا موزعًا يُفترض أن يقرأ جميع البيانات من كلا الجدولين مع الإعداد max_bytes_to_read=150 سيفشل لأن الإجمالي سيبلغ 200 بايت. أما الاستعلام مع max_bytes_to_read_leaf=150 فسينجح لأن العقد الطرفية لن تقرأ أكثر من 100 بايت.

يُفحص هذا القيد لكل جزء من البيانات تتم معالجته.

max_bytes_to_sort

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى لعدد البايتات قبل الفرز. إذا تطلّبت عملية ORDER BY معالجة كمية من البايتات غير المضغوطة تتجاوز المقدار المحدد، فسيُحدَّد السلوك وفقًا لـ sort_overflow_mode، والذي يُضبط افتراضيًا على throw.

max_bytes_to_transfer

النوع
UInt64
القيمة الافتراضية
0

الحد الأقصى لعدد البايتات (بيانات غير مضغوطة) التي يمكن تمريرها إلى خادم بعيد أو حفظها في جدول مؤقت عند تنفيذ عبارة GLOBAL IN/JOIN.

Navigation