هذه الإعدادات متاحة في system.settings، ويتم توليدها تلقائيًا من المصدر.
optimize_rewrite_aggregate_function_with_if
أعِد كتابة الدوال التجميعية التي تستخدم تعبير if كوسيطة، عندما يكون ذلك متكافئًا منطقيًا.
على سبيل المثال، يمكن إعادة كتابة avg(if(cond, col, null)) إلى avgOrNullIf(cond, col). وقد يؤدي ذلك إلى تحسين الأداء.
optimize_rewrite_array_exists_to_has
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.4 | 1 | تفعيل تحسين إعادة كتابة arrayExists إلى has افتراضيًا، بعد أن أصبح التحقق من توافق الأنواع يتم قبل إعادة الكتابة. |
أعِد كتابة دوال arrayExists() إلى has() عندما تكون متكافئة منطقيًا. على سبيل المثال، يمكن إعادة كتابة arrayExists(x -> x = 1, arr) إلى has(arr, 1)
optimize_rewrite_has_to_in
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 1 | إعداد جديد |
أعِد كتابة دوال has إلى IN عندما تكون الوسيطة الأولى مصفوفة ثابتة. على سبيل المثال، يمكن إعادة كتابة has([1, 2, 3], x) إلى x IN [1, 2, 3] لتحسين الأداء عند استخدام المصفوفات الثابتة
optimize_rewrite_like_perfect_affix
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.10 | 1 | إعداد جديد |
أعِد كتابة تعبيرات LIKE ذات البادئة أو اللاحقة التامة (مثل col LIKE 'ClickHouse%') إلى الدالتين startsWith أو endsWith (مثل startsWith(col, 'ClickHouse')).
optimize_rewrite_regexp_functions
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.8 | 1 | إعداد جديد |
أعِد كتابة الدوال المتعلقة بالتعبيرات النمطية بصيغ أبسط وأكثر كفاءة
optimize_rewrite_sum_if_to_count_if
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1 | متاح فقط للمحلّل، حيث يعمل بشكل صحيح |
أعِد كتابة الدالتين sumIf() و sum(if()) إلى الدالة countIf() عندما تكونان متكافئتين منطقيًا