هذه الإعدادات متاحة في system.settings، وقد وُلِّدت تلقائيًا من الشفرة المصدرية.
read_in_order_two_level_merge_threshold
الحد الأدنى لعدد الأجزاء التي يجب قراءتها لتشغيل خطوة دمج أوّلي أثناء القراءة متعددة الخيوط بترتيب المفتاح الأساسي.
read_in_order_use_buffering
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.7 | 1 | استخدام التخزين المؤقت قبل الدمج عند القراءة وفق ترتيب المفتاح الأساسي |
استخدم التخزين المؤقت قبل الدمج عند القراءة وفق ترتيب المفتاح الأساسي. يزيد ذلك من التوازي في تنفيذ الاستعلام
read_in_order_use_virtual_row
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | فعّل تحسين الصف الافتراضي افتراضيًا. عند القراءة وفق ترتيب المفتاح الأساسي عبر أجزاء كثيرة، يتيح لـ `MergingSortedTransform` إعادة تحديد أولوية المصادر باستخدام قيم المفتاح الأساسي من الفهرس المتناثر، بحيث لا تُقرأ الأجزاء غير ذات الصلة بالاستعلام، إلى جانب نافذة قراءة مسبقة محدودة لا تتجاوز `max_threads` جزءًا تحافظ على توازي عمليات القراءة. يقلل ذلك بدرجة كبيرة من ذروة استهلاك الذاكرة (انظر https://github.com/ClickHouse/ClickHouse/issues/52624). |
| 24.11 | 0 | استخدم الصف الافتراضي أثناء القراءة وفق ترتيب المفتاح الأساسي أو دالته الرتيبة. يفيد ذلك عند البحث عبر عدة أجزاء، إذ لا تُفحَص إلا الأجزاء ذات الصلة. |
استخدم الصف الافتراضي أثناء القراءة وفق ترتيب المفتاح الأساسي أو دالته الرتيبة. يفيد ذلك عند البحث عبر عدة أجزاء، إذ لا تُقرأ إلا الأجزاء التي يمكن أن تسهم فعليًا في النتيجة، إلى جانب نافذة قراءة مسبقة محدودة لا تتجاوز max_threads جزءًا تحافظ على توازي عمليات القراءة.
read_in_order_use_virtual_row_per_block
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.4 | 0 | إصدار صف افتراضي بعد كل كتلة أثناء القراءة بالترتيب للسماح بإعادة تحديد أولوية المصادر بوتيرة أعلى في MergingSortedTransform. |
عند تمكينه مع read_in_order_use_virtual_row، يُصدر صفًا افتراضيًا بعد كل كتلة تتم قراءتها (وليس فقط في بداية كل جزء).
ويتيح ذلك لـ MergingSortedTransform إعادة تحديد أولوية المصادر بوتيرة أكثر تكرارًا، وهو ما يفيد عندما تستبعد عوامل التصفية اللاحقة عددًا كبيرًا من الصفوف وتكون البيانات موزعة بشكل غير متساوٍ عبر الأجزاء.
لاحظ أن هذا يعطّل تحسين read_in_order_use_buffering والدمج الأوّلي (read_in_order_two_level_merge_threshold) أثناء القراءة.