هذه الإعدادات متاحة في system.settings، وقد أُنشئت تلقائيًا من المصدر.
query_plan_aggregation_bucket_top_k
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.9 | 1 | إعداد جديد لتبديل تحسين على مستوى خطة الاستعلام، لا يُجسِّد أثناء التحويل النهائي للتجميع سوى أفضل n مجموعات في كل حاوية ثنائية المستوى، عندما يُمرَّر ناتج التجميع النهائي إلى ORDER BY مع LIMIT n ويثبت أن الاختيار في كل حاوية دقيق. |
يبدّل تحسينًا على مستوى خطة الاستعلام لا يُجسِّد، أثناء التحويل النهائي للتجميع، سوى أفضل n مجموعات في كل حاوية ثنائية المستوى، وذلك عندما يُمرَّر ناتج التجميع النهائي إلى ORDER BY مع LIMIT n وتثبت الخطة أن الاختيار في كل حاوية دقيق. والنتيجة دقيقة: فالمجموعة التي تقع خارج أفضل n مجموعات في حاويتها تسبقها عالميًا n مجموعات على الأقل، لذا لا يمكن أن تكون ضمن أفضل n عالميًا.
لا يسري هذا الإعداد إلا إذا كانت قيمة query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_aggregation_in_order
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 22.12 | 1 | تمكين بعض إعادة الهيكلة المتعلقة بخطة الاستعلام |
يُبدّل تحسين التجميع بالترتيب على مستوى خطة الاستعلام.
لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations مضبوطًا على 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_convert_any_join_to_semi_or_anti_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.9 | 1 | إعداد جديد. |
السماح بتحويل ANY JOIN إلى SEMI أو ANTI JOIN إذا كان عامل التصفية بعد JOIN يُقيَّم دائمًا إلى false بالنسبة إلى الصفوف المطابقة أو غير المطابقة
query_plan_convert_join_to_in
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.4 | 0 | إعداد جديد |
يسمح بتحويل JOIN إلى استعلام فرعي باستخدام IN إذا كانت أعمدة الإخراج مرتبطة بالجدول الأيسر فقط. قد يؤدي ذلك إلى نتائج غير صحيحة مع عمليات JOIN غير ANY (مثل ALL JOIN، وهو الإعداد الافتراضي).
query_plan_convert_outer_join_to_inner_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1 | السماح بتحويل OUTER JOIN إلى INNER JOIN إذا كانت التصفية بعد JOIN تستبعد دائمًا القيم الافتراضية |
السماح بتحويل OUTER JOIN إلى INNER JOIN إذا كانت التصفية بعد JOIN تستبعد دائمًا القيم الافتراضية
query_plan_direct_read_from_text_index
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.2 | 1 | أصبح فهرس النص متاحًا الآن بشكل عام (GA) |
| 25.9 | 1 | إعداد جديد. |
يسمح بإجراء تصفية البحث النصي الكامل باستخدام فهرس النص المعكوس فقط ضمن خطة الاستعلام.
query_plan_display_internal_aliases
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.9 | 0 | إعداد جديد |
إظهار الأسماء المستعارة الداخلية (مثل __table1) في EXPLAIN PLAN بدلًا من تلك المحددة في الاستعلام الأصلي.
query_plan_enable_multithreading_after_window_functions
تمكين المعالجة متعددة الخيوط بعد تقييم دوال النافذة للسماح بمعالجة التدفقات بشكل متوازٍ
query_plan_enable_optimizations
يُفعِّل أو يعطِّل تحسين الاستعلام على مستوى خطة الاستعلام.
القيم الممكنة:
- 0 - تعطيل جميع التحسينات على مستوى خطة الاستعلام
- 1 - تمكين التحسينات على مستوى خطة الاستعلام (لكن قد تظل بعض التحسينات الفردية معطلة عبر إعداداتها الخاصة)
query_plan_execute_functions_after_sorting
يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام ينقل التعبيرات إلى ما بعد خطوات الفرز.
ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_filter_push_down
يبدّل تحسينًا على مستوى خطة الاستعلام، بحيث يدفع عوامل التصفية إلى أسفل في خطة التنفيذ. لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_fuse_filter_into_array_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.9 | 1 | تحسين جديد لدمج عامل تصفية على الأعمدة الناتجة عن ARRAY JOIN في خطوة ARRAY JOIN، وهو مفعّل افتراضيًا. |
يُفعِّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يدمج عامل تصفية على أعمدة العناصر الناتجة عن ARRAY JOIN في خطوة ARRAY JOIN، بحيث تُصفّى المصفوفات ضمن فضاء العناصر قبل توسيعها، فلا تُوسَّع العناصر المُستبعَدة ولا تُكرَّر أبدًا.
لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
query_plan_join_shard_by_pk_ranges
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.4 | 0 | إعداد جديد |
طبّق التجزئة في JOIN إذا كانت مفاتيح JOIN تتضمن بادئة من PRIMARY KEY في كلا الجدولين. وهو مدعوم لخوارزميات hash و parallel_hash و full_sorting_merge و parallel_full_sorting_merge. وعادةً لا يسرّع الاستعلامات، لكنه قد يقلّل من استهلاك الذاكرة.
query_plan_join_swap_table
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.12 | auto | إعداد جديد. كان يتم دائمًا اختيار الجدول الأيمن سابقًا. |
حدِّد أي جانب من عملية join يجب أن يكون جدول البناء (ويُسمّى أيضًا الداخلي، وهو الجدول الذي يُدرَج في جدول التجزئة في hash join) في خطة الاستعلام. لا يتوفر هذا الإعداد إلا مع صرامة join ALL ومع عبارة JOIN ON. القيم الممكنة هي:
- 'auto': اترك للمخطِّط تحديد الجدول الذي سيُستخدم كجدول البناء.
- 'false': لا تبدّل الجداول أبدًا (الجدول الأيمن هو جدول البناء).
- 'true': بدّل الجداول دائمًا (الجدول الأيسر هو جدول البناء).
query_plan_lift_up_array_join
يُبدّل تحسينًا على مستوى خطة الاستعلام يرفع عمليات ARRAY JOIN إلى موضع أعلى في خطة التنفيذ. ولا يسري هذا إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations هي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_lift_up_union
يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام ينقل أجزاءً فرعية أكبر من خطة الاستعلام إلى union لإتاحة مزيد من التحسينات.
ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_max_limit_for_join_lazy_indexing
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 1000 | تمت إضافة إعداد جديد للتحكم في قيمة الحد الأقصى التي تتيح استخدام خطة الاستعلام لتحسين الفهرسة الكسولة في JOIN. إذا كانت القيمة صفرًا، فلا يوجد حد |
يتحكم في قيمة الحد الأقصى التي تتيح استخدام خطة الاستعلام لتحسين الفهرسة الكسولة في JOIN. إذا كانت القيمة صفرًا، فلا يوجد حد.
query_plan_max_limit_for_lazy_materialization
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.4 | 10 | أُضيف إعداد جديد للتحكم في القيمة القصوى للحد التي تسمح باستخدام خطة الاستعلام لتحسين التجسيد الكسول. إذا كانت القيمة صفراً، فلا يوجد حد |
| 25.12 | 10000 | زيادة الحد بعد تحسين الأداء |
| 25.11 | 100 | أكثر كفاءة |
يتحكم في القيمة القصوى للحد التي تسمح باستخدام خطة الاستعلام لتحسين التجسيد الكسول. إذا كانت القيمة صفراً، فلا يوجد حد.
query_plan_max_limit_for_top_k_optimization
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | 1000 | إعداد جديد. |
يحدّد قيمة الحد الأقصى التي تسمح بتقييم خطة الاستعلام لتحسين TopK باستخدام فهرس التخطي minmax والتصفية بالعتبة الديناميكية. إذا كانت القيمة صفرًا، فلا يوجد حد.
يتحكم هذا الإعداد أيضًا في سلوك enable_group_by_top_k_optimization.
query_plan_max_optimizations_to_apply
يحدّ من إجمالي عدد عمليات التحسين المطبَّقة على خطة الاستعلام؛ راجع الإعداد query_plan_enable_optimizations. وهو مفيد لتجنّب طول زمن التحسين في الاستعلامات المعقّدة. في استعلام EXPLAIN PLAN، يتوقف تطبيق عمليات التحسين بعد الوصول إلى هذا الحد وتُعاد الخطة كما هي. أما في تنفيذ الاستعلام العادي، فإذا تجاوز العدد الفعلي لعمليات التحسين هذا الإعداد، يُطرَح استثناء.
query_plan_max_set_size_for_projection_match
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 10000 | تمت إضافة إعداد جديد يقيّد تكلفة مجموعات عبارة `IN` ذات تجزئة المحتوى في مطابِق الإسقاط (حاليًا: الإسقاط التجميعي). وتُعامَل المجموعات التي تتجاوز هذا الحد على أنها غير متطابقة. وتؤدي القيمة صفر إلى تعطيل مقارنة تجزئة المحتوى بالكامل (قيمة compatibility: لا تنجح مطابقة الإسقاط مطلقًا للعُقد التي تحتوي على مجموعات `IN`). |
الحد الأقصى لعدد الصفوف في مجموعة عبارة IN التي يحسب لها مطابِق الإسقاط تجزئات المحتوى ويقارنها عند تحديد ما إذا كانت مجموعتان متساويتين. وتُعامَل المجموعات الأكبر من ذلك على أنها غير متطابقة، ويجري تخطي الإسقاط. وتؤدي القيمة صفر إلى تعطيل مقارنة تجزئة المحتوى بالكامل: فلا تنجح مطابقة الإسقاط مطلقًا للعُقد التي تحتوي على مجموعات عبارة IN.
يُستخدم هذا الإعداد بواسطة مطابِق الإسقاط التجميعي (وأي مطابِق إسقاط مستقبلي يحتاج إلى مقارنة مجموعات عبارة IN). وتبلغ تكلفة حساب تجزئة المحتوى O(N log N) بالنسبة إلى عدد عناصر المجموعة؛ ويضع هذا الإعداد حدًا للتكلفة المتكبدة أثناء التخطيط عند ظهور عدد كبير من عبارات IN في الاستعلام أو الإسقاط.
query_plan_max_step_description_length
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.9 | 500 | إعداد جديد |
الحد الأقصى لطول وصف الخطوة في EXPLAIN PLAN.
query_plan_merge_expression_into_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.7 | 1 | إعداد جديد. يتيح دمج خطوة Expression ضمن خطوة JOIN أثناء تحسين إعادة ترتيب JOIN. |
يتيح دمج التعبيرات ضمن خطوة JOIN أثناء تحسين إعادة ترتيب JOIN.
query_plan_merge_expressions
يُفعِّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يدمج عوامل التصفية المتتالية. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_merge_filter_into_join_condition
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.4 | 1 | إضافة إعداد جديد لدمج عامل التصفية ضمن شرط الربط |
يسمح بدمج عامل التصفية ضمن شرط JOIN وتحويل CROSS JOIN إلى INNER.
query_plan_merge_filters
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.7 | 0 | السماح بدمج عوامل التصفية في خطة الاستعلام |
| 24.11 | 1 | السماح بدمج عوامل التصفية في خطة الاستعلام. وهذا مطلوب لدعم دفع عوامل التصفية إلى الأسفل بشكل صحيح باستخدام المُحلِّل. |
السماح بدمج عوامل التصفية في خطة الاستعلام.
query_plan_min_columns_for_join_lazy_indexing
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 3 | التحكم في الحد الأدنى لعدد أعمدة البيانات من الجانب الأيسر اللازمة لتفعيل تحسين الفهرسة الكسولة في JOIN |
التحكم في الحد الأدنى لعدد أعمدة البيانات من الجانب الأيسر اللازمة لتفعيل تحسين الفهرسة الكسولة في JOIN. تعني القيمة 0 أن هذا التحسين معطّل.
query_plan_optimize_count_from_text_index
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | إعداد جديد |
يتيح الإجابة عن SELECT count() ... WHERE <text search predicate> مباشرةً بالاعتماد على عدد عناصر قوائم الإسناد في فهرس النص، من دون تجسيد الصفوف المطابقة.
لا يسري إلا عند تمكين query_plan_direct_read_from_text_index.
query_plan_optimize_join_order_algorithm
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | greedy | إعداد تجريبي جديد. |
يحدّد خوارزميات ترتيب JOIN التي تجب تجربتها أثناء تحسين خطة الاستعلام. الخوارزميات التالية متاحة:
- 'greedy' - خوارزمية جشعة أساسية - تعمل بسرعة، لكنها قد لا تنتج أفضل ترتيب لعمليات JOIN
- 'dpsize' - يطبّق خوارزمية DPsize حاليًا على عمليات الربط الداخلية فقط - يأخذ في الاعتبار جميع ترتيبات JOIN الممكنة ويعثر على الترتيب الأمثل، لكنه قد يكون بطيئًا للاستعلامات التي تتضمن عددًا كبيرًا من الجداول وشروط JOIN.
- 'dpsub' - يطبّق خوارزمية DPsub التي تدعم عمليات الربط الداخلية وغير الداخلية - يأخذ في الاعتبار جميع ترتيبات JOIN الممكنة ويعثر على الترتيب الأمثل، لكنه قد يكون بطيئًا للاستعلامات التي تتضمن عددًا كبيرًا من الجداول وشروط JOIN.
- 'dphyp' - يطبّق خوارزمية DPhyp (البرمجة الديناميكية عبر تقسيم الرسم البياني الفائق) حاليًا على عمليات الربط الداخلية فقط - يستكشف مساحة البحث نفسها مثل
dpsize، لكنه يعدد فقط أزواج الرسوم البيانية الفرعية المتصلة، ما يولّد عددًا أقل من عمليات JOIN الوسيطة في رسوم JOIN البيانية المتناثرة، على حساب عدم مراعاة الضربات الديكارتية يمكن تحديد عدة خوارزميات في قائمة مفصولة بفواصل، مثلdphyp,greedy. وتُجرَّب بالترتيب؛ فإذا تعذّر على خوارزمية ما التعامل مع الاستعلام (على سبيل المثال بسبب عمليات الربط الخارجية أو المكوّنات غير المتصلة)، تُستخدَم الخوارزمية التالية كخيار احتياطي.
query_plan_optimize_join_order_limit
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.9 | 1 | إعداد جديد |
| 25.12 | 10 | السماح افتراضيًا بإعادة ترتيب JOIN لعدد أكبر من الجداول |
حسِّن ترتيب عمليات JOIN ضمن الاستعلام الفرعي نفسه. لا يتوفر الدعم حاليًا إلا لحالات محدودة جدًا. القيمة هي الحد الأقصى لعدد الجداول التي يمكن تحسين ترتيبها.
query_plan_optimize_join_order_max_searched_plans
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 100000 | إعداد جديد لوضع حدّ لعدد الخطط الجزئية التي يحصيها مُحسِّن ترتيب join قبل الرجوع إلى الخوارزمية التالية. |
الحد الأقصى لعدد الخطط الجزئية التي يمكن أن يحصيها مُحسِّن ترتيب join قبل التوقف والرجوع إلى الخوارزمية التالية في query_plan_optimize_join_order_algorithm.
يضع هذا حدًا زمنيًا لعملية التحسين على نحو حتمي (بغض النظر عن الزمن الفعلي المنقضي) في رسوم join البيانية الكثيفة، مثل الرسوم الكاملة أو النجمية، حيث ينمو فضاء البحث نموًا أسيًا.
اضبط القيمة على 0 لتعطيل هذا الحد. لا يؤثر ذلك في query_plan_optimize_join_order_limit الافتراضي، حيث يظل البحث دائمًا أقل بكثير من هذا الحد.
query_plan_optimize_join_order_randomize
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.4 | 0 | إعداد جديد لعشوائية إحصاءات ترتيب JOIN لأغراض الاختبار. |
عندما تكون القيمة غير صفرية، يستخدم مُحسِّن ترتيب JOIN قيم cardinality وNDV مُولَّدة عشوائيًا بدلًا من الإحصاءات الفعلية. عند تعيينها إلى 1، يُولَّد random seed، وعند تعيينها إلى قيمة > 1، تُستخدم تلك القيمة مباشرةً كبذرة. هذا مخصّص للاختبار بهدف اكتشاف الأخطاء الناتجة عن اختلاف ترتيبات JOIN.
query_plan_optimize_lazy_final
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.4 | 0 | إعداد جديد لتحسين القراءة باستخدام FINAL من ReplacingMergeTree من خلال إنشاء مجموعة من المفاتيح الأساسية واستخدامها في تحليل الفهرس |
تحسين القراءة باستخدام FINAL من ReplacingMergeTree من خلال إنشاء مجموعة من المفاتيح الأساسية واستخدامها في تحليل الفهرس.
query_plan_optimize_lazy_materialization
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.4 | 1 | أُضيف إعداد جديد لاستخدام خطة الاستعلام لتحسين التجسيد الكسول |
استخدم خطة الاستعلام لتحسين التجسيد الكسول.
query_plan_optimize_lazy_materialization_for_file
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet محلية باستخدام دالة الجدول `file` ومحرك الجدول `File`. |
استخدم تحسين التجسيد الكسول عند قراءة ملفات Parquet المحلية باستخدام دالة الجدول file ومحرك الجدول File: في استعلامات ORDER BY ... LIMIT n، لا تُقرأ الأعمدة غير المطلوبة للفرز والتصفية إلا للصفوف n التي تبقى بعد تطبيق LIMIT. لا يسري هذا الإعداد إلا إذا كان query_plan_optimize_lazy_materialization مفعّلًا.
query_plan_optimize_lazy_materialization_for_object_storage
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.9 | 1 | إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg). |
| 26.8 | 1 | إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg). |
| 26.7 | 1 | إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg). |
استخدم تحسين التجسيد الكسول عند قراءة ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg): في استعلامات ORDER BY ... LIMIT n، لا تُقرأ الأعمدة غير اللازمة للفرز والتصفية إلا للصفوف الـ n التي تبقى بعد تطبيق LIMIT. لا يسري هذا الإعداد إلا إذا كان query_plan_optimize_lazy_materialization مفعّلًا.
query_plan_optimize_prewhere
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.2 | 1 | السماح بتمرير عامل التصفية إلى تعبير PREWHERE لوحدات التخزين المدعومة |
السماح بتمرير عامل التصفية إلى تعبير PREWHERE لوحدات التخزين المدعومة
query_plan_push_down_limit
يُفعِّل أو يُعطِّل تحسينًا على مستوى خطة الاستعلام ينقل عبارات LIMIT إلى أسفل ضمن خطة التنفيذ. ولا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_push_down_volume_reducing_functions
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | إعداد جديد لدفع الدالات المُقلِّصة للحجم (`length`, `lengthUTF8`, `empty`, `notEmpty`) إلى ما بعد خطوتَي `Sorting` و`Filter`، بحيث تُستبدل الوسيطة العريضة بالنتيجة ذات الحجم الثابت. previous_value=false، لذا فإن `compatibility` مع الإصدارات السابقة لـ 26.8 يستعيد السلوك السابق (من دون دفع لأسفل). |
يُفعّل أو يعطّل تحسينًا على مستوى خطة الاستعلام ينقل الدالات المُقلِّصة للحجم (length, lengthUTF8, empty, notEmpty)
إلى أسفل خطة التنفيذ، بعد خطوتَي Sorting وFilter. تحل النتيجة ذات الحجم الثابت محل
وسيطة String / FixedString العريضة، لذا لا تعود الوسيطة تمر عبر هاتين الخطوتين.
لا تُطبّق إعادة الكتابة إلا إذا لم يكن عمود الوسيطة مطلوبًا بعد الخطوة التي يُدفع إليها.
لا يسري هذا الإعداد إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تفعيل
query_plan_push_limit_by_into_sort
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.6 | 1 | إعداد جديد يدفع `LIMIT BY` الخاص بكل دفق إلى مسار الفرز عندما تكون أعمدة `LIMIT BY` بادئة لـ `ORDER BY`، مما يقلل عدد الصفوف المارة عبر الدمج النهائي. |
يُفعّل أو يعطّل تحسينًا على مستوى خطة الاستعلام لاستعلامات ORDER BY ... LIMIT BY. عندما تكون أعمدة LIMIT BY بادئة لعبارة ORDER BY، يطبّق كل دفق فرز متوازٍ LIMIT BY قبل دمج التدفقات في دفق واحد، مما يقلل عدد الصفوف التي تعالجها عملية الدمج النهائية ومراحل المسار اللاحقة. ويؤدي ذلك إلى تسريع الاستعلامات التي يستبعد فيها LIMIT BY نسبة كبيرة من الصفوف.
لا يسري هذا إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_read_in_order
يُفعِّل أو يعطِّل تحسين القراءة بالترتيب على مستوى خطة الاستعلام.
ولا يكون له تأثير إلا إذا كان الإعداد query_plan_enable_optimizations مضبوطًا على 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_read_in_order_through_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | 1 | إعداد جديد |
الحفاظ على القراءة بالترتيب من الجدول الأيسر في عمليات JOIN، بحيث يمكن للخطوات اللاحقة الاستفادة من ذلك.
query_plan_remove_redundant_distinct
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.2 | 1 | إزالة خطوة Distinct غير الضرورية في خطة الاستعلام |
يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات DISTINCT غير الضرورية.
ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_remove_redundant_sorting
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 23.1 | 1 | إزالة الفرز غير الضروري في خطة الاستعلام. على سبيل المثال، خطوات الفرز المرتبطة بعبارات ORDER BY في الاستعلامات الفرعية |
يُفعّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات الفرز غير الضرورية، مثل تلك الموجودة في الاستعلامات الفرعية.
لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_remove_unused_columns
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | 1 | إعداد جديد. يضيف تحسينًا لإزالة الأعمدة غير المستخدمة في خطة الاستعلام. |
يُفعّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يحاول إزالة الأعمدة غير المستخدمة (أعمدة الإدخال والإخراج على حدّ سواء) من خطوات خطة الاستعلام. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_reuse_storage_ordering_for_window_functions
الأسماء البديلة: optimize_read_in_window_order
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.1 | 0 | يُعطَّل هذا المنطق افتراضيًا. |
يبدّل تحسينًا على مستوى خطة الاستعلام يستخدم ترتيب التخزين عند الفرز لدوال النوافذ.
ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_short_circuit_constant_false_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.8 | 1 | إعداد جديد لتقصير تنفيذ `JOIN` عندما يكون شرط `ON` ثابتًا بقيمة false، بحيث لا يُقرأ الجانب غير المساهم. قيمة previous_value=false، لذا فإن استخدام `compatibility` مع الإصدارات السابقة لـ 26.8 يستعيد السلوك السابق (من دون تقصير التنفيذ). |
قصّر تنفيذ JOIN عندما يُختزل شرط ON إلى ثابت بقيمة false، وذلك باستبدال كل جانب إدخال لا يمكنه المساهمة بأي صف (كلا الجانبين في INNER/CROSS/SEMI، والجانب غير المحفوظ في LEFT/RIGHT) بمصدر فارغ، بحيث لا يُقرأ الجانب غير المساهم. ينطبق ذلك على المحلل (enable_analyzer = 1) وعلى الخطط غير الموزعة.
query_plan_split_filter
يؤدي إلى تمكين أو تعطيل تحسين على مستوى خطة الاستعلام يقسّم عوامل التصفية إلى تعبيرات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_text_index_add_hint
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | 1 | إعداد جديد |
السماح بإضافة تلميح (شرط إضافي) للتصفية يُنشأ من فهرس النص المعكوس في خطة الاستعلام.
query_plan_top_k_through_join
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.5 | 1 | إعداد جديد لتمكين تحسين على مستوى خطة الاستعلام يدفع `ORDER BY ... LIMIT n` عبر ربط LEFT/RIGHT عندما لا يشير مفتاح الفرز إلا إلى الجانب الذي يحتفظ به الربط. |
يُبدّل تحسينًا على مستوى خطة الاستعلام يدفع ORDER BY ... LIMIT n إلى أسفل عبر join عندما لا يشير مفتاح الفرز إلا إلى الأعمدة في الجانب الذي يحتفظ به join (LEFT/RIGHT). ويقيّد عدد الصفوف التي يجب أن ينتجها إدخال الجانب الذي يحتفظ به الربط قبل تنفيذ الربط.
لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين
query_plan_try_use_vector_search
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.1 | 1 | إعداد جديد. |
يتحكم هذا الإعداد في تفعيل تحسين على مستوى خطة الاستعلام يحاول استخدام فهرس تشابه المتجهات.
ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
القيم الممكنة:
- 0 - تعطيل
- 1 - تمكين