group_by_overflow_mode
throw: طرح استثناءbreak: إيقاف تنفيذ الاستعلام وإرجاع النتيجة الجزئيةany: متابعة التجميع للمفاتيح التي دخلت إلى المجموعة، ولكن من دون إضافة مفاتيح جديدة إليها.
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization: عدد الصفوف التي يراقبها كل تدفق تجميع قبل تجميد كومة top-K ممتلئة تخطّت أقل من 10% من صفوف الإدخال وأخرجت مفاتيح أقل من سعتها. وتعني الكومة المجمّدة أن التجميع يستمر كما لو كان التحسين معطّلًا.
تبلغ النافذة الفعلية ضعفي الحجم المحجوز للكومة على الأقل، لذا تتاح للكومة دائمًا فرصة للامتلاء قبل تقييمها. تعطل القيمة 0 هذا التجميد (مع استمرار تجميد الكومة عندما تتجاوز مجموعة التعادلات عند الحد سعتها).
لا يؤثر هذا في استعلامات GROUP BY keys LIMIT K التي لا تتضمن ORDER BY، إذ يكون التجميد معطّلًا دائمًا فيها: تتضمن خطة هذا النمط ترتيبًا مُنشأً لا يحقق فائدة إلا ما دامت الكومة تحدّ من حجم جدول التجزئة، لذا فإن تجميد الكومة سيُبقي خطة أبطأ من الخطة غير المحسّنة.
group_by_two_level_threshold
group_by_two_level_threshold_bytes
group_by_use_nulls
ROLLUP أو CUBE أو GROUPING SETS، قد لا تُستخدم بعض مفاتيح التجميع في إنتاج بعض صفوف النتائج.
تُملأ الأعمدة الخاصة بهذه المفاتيح إما بالقيمة الافتراضية أو بـ NULL في الصفوف المقابلة، وذلك وفقًا لهذا الإعداد.
القيم الممكنة:
- 0 — تُستخدم القيمة الافتراضية لنوع مفتاح التجميع لتمثيل القيم المفقودة.
- 1 — ينفّذ ClickHouse
GROUP BYبالطريقة نفسها التي يحددها معيار SQL. وتُحوَّل أنواع مفاتيح التجميع إلى Nullable. وتُملأ الأعمدة الخاصة بمفاتيح التجميع المقابلة بقيمة NULL في الصفوف التي لم تُستخدم فيها.