Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة لـ query_plan_*

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

query_plan_aggregation_bucket_top_k

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.91إعداد جديد لتبديل تحسين على مستوى خطة الاستعلام، لا يُجسِّد أثناء التحويل النهائي للتجميع سوى أفضل 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

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
22.121تمكين بعض إعادة الهيكلة المتعلقة بخطة الاستعلام

يُبدّل تحسين التجميع بالترتيب على مستوى خطة الاستعلام. لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations مضبوطًا على 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_convert_any_join_to_semi_or_anti_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.91إعداد جديد.

السماح بتحويل ANY JOIN إلى SEMI أو ANTI JOIN إذا كان عامل التصفية بعد JOIN يُقيَّم دائمًا إلى false بالنسبة إلى الصفوف المطابقة أو غير المطابقة

query_plan_convert_join_to_in

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.40إعداد جديد

يسمح بتحويل JOIN إلى استعلام فرعي باستخدام IN إذا كانت أعمدة الإخراج مرتبطة بالجدول الأيسر فقط. قد يؤدي ذلك إلى نتائج غير صحيحة مع عمليات JOIN غير ANY (مثل ALL JOIN، وهو الإعداد الافتراضي).

query_plan_convert_outer_join_to_inner_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.41السماح بتحويل OUTER JOIN إلى INNER JOIN إذا كانت التصفية بعد JOIN تستبعد دائمًا القيم الافتراضية

السماح بتحويل OUTER JOIN إلى INNER JOIN إذا كانت التصفية بعد JOIN تستبعد دائمًا القيم الافتراضية

query_plan_direct_read_from_text_index

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.21أصبح فهرس النص متاحًا الآن بشكل عام (GA)
25.91إعداد جديد.

يسمح بإجراء تصفية البحث النصي الكامل باستخدام فهرس النص المعكوس فقط ضمن خطة الاستعلام.

query_plan_display_internal_aliases

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.90إعداد جديد

إظهار الأسماء المستعارة الداخلية (مثل __table1) في EXPLAIN PLAN بدلًا من تلك المحددة في الاستعلام الأصلي.

query_plan_enable_multithreading_after_window_functions

النوع
Bool
القيمة الافتراضية
1

تمكين المعالجة متعددة الخيوط بعد تقييم دوال النافذة للسماح بمعالجة التدفقات بشكل متوازٍ

query_plan_enable_optimizations

النوع
Bool
القيمة الافتراضية
1

يُفعِّل أو يعطِّل تحسين الاستعلام على مستوى خطة الاستعلام.

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

  • 0 - تعطيل جميع التحسينات على مستوى خطة الاستعلام
  • 1 - تمكين التحسينات على مستوى خطة الاستعلام (لكن قد تظل بعض التحسينات الفردية معطلة عبر إعداداتها الخاصة)

query_plan_execute_functions_after_sorting

النوع
Bool
القيمة الافتراضية
1

يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام ينقل التعبيرات إلى ما بعد خطوات الفرز. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_filter_push_down

النوع
Bool
القيمة الافتراضية
1

يبدّل تحسينًا على مستوى خطة الاستعلام، بحيث يدفع عوامل التصفية إلى أسفل في خطة التنفيذ. لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_fuse_filter_into_array_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.91تحسين جديد لدمج عامل تصفية على الأعمدة الناتجة عن ARRAY JOIN في خطوة ARRAY JOIN، وهو مفعّل افتراضيًا.

يُفعِّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يدمج عامل تصفية على أعمدة العناصر الناتجة عن ARRAY JOIN في خطوة ARRAY JOIN، بحيث تُصفّى المصفوفات ضمن فضاء العناصر قبل توسيعها، فلا تُوسَّع العناصر المُستبعَدة ولا تُكرَّر أبدًا. لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

query_plan_join_shard_by_pk_ranges

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.40إعداد جديد

طبّق التجزئة في JOIN إذا كانت مفاتيح JOIN تتضمن بادئة من PRIMARY KEY في كلا الجدولين. وهو مدعوم لخوارزميات hash و parallel_hash و full_sorting_merge و parallel_full_sorting_merge. وعادةً لا يسرّع الاستعلامات، لكنه قد يقلّل من استهلاك الذاكرة.

query_plan_join_swap_table

النوع
BoolAuto
القيمة الافتراضية
auto
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.12autoإعداد جديد. كان يتم دائمًا اختيار الجدول الأيمن سابقًا.

حدِّد أي جانب من عملية join يجب أن يكون جدول البناء (ويُسمّى أيضًا الداخلي، وهو الجدول الذي يُدرَج في جدول التجزئة في hash join) في خطة الاستعلام. لا يتوفر هذا الإعداد إلا مع صرامة join ALL ومع عبارة JOIN ON. القيم الممكنة هي:

  • 'auto': اترك للمخطِّط تحديد الجدول الذي سيُستخدم كجدول البناء.
  • 'false': لا تبدّل الجداول أبدًا (الجدول الأيمن هو جدول البناء).
  • 'true': بدّل الجداول دائمًا (الجدول الأيسر هو جدول البناء).

query_plan_lift_up_array_join

النوع
Bool
القيمة الافتراضية
1

يُبدّل تحسينًا على مستوى خطة الاستعلام يرفع عمليات ARRAY JOIN إلى موضع أعلى في خطة التنفيذ. ولا يسري هذا إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations هي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_lift_up_union

النوع
Bool
القيمة الافتراضية
1

يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام ينقل أجزاءً فرعية أكبر من خطة الاستعلام إلى union لإتاحة مزيد من التحسينات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_max_limit_for_join_lazy_indexing

النوع
UInt64
القيمة الافتراضية
1000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.61000تمت إضافة إعداد جديد للتحكم في قيمة الحد الأقصى التي تتيح استخدام خطة الاستعلام لتحسين الفهرسة الكسولة في JOIN. إذا كانت القيمة صفرًا، فلا يوجد حد

يتحكم في قيمة الحد الأقصى التي تتيح استخدام خطة الاستعلام لتحسين الفهرسة الكسولة في JOIN. إذا كانت القيمة صفرًا، فلا يوجد حد.

query_plan_max_limit_for_lazy_materialization

النوع
UInt64
القيمة الافتراضية
10000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.410أُضيف إعداد جديد للتحكم في القيمة القصوى للحد التي تسمح باستخدام خطة الاستعلام لتحسين التجسيد الكسول. إذا كانت القيمة صفراً، فلا يوجد حد
25.1210000زيادة الحد بعد تحسين الأداء
25.11100أكثر كفاءة

يتحكم في القيمة القصوى للحد التي تسمح باستخدام خطة الاستعلام لتحسين التجسيد الكسول. إذا كانت القيمة صفراً، فلا يوجد حد.

query_plan_max_limit_for_top_k_optimization

النوع
UInt64
القيمة الافتراضية
1000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.121000إعداد جديد.

يحدّد قيمة الحد الأقصى التي تسمح بتقييم خطة الاستعلام لتحسين TopK باستخدام فهرس التخطي minmax والتصفية بالعتبة الديناميكية. إذا كانت القيمة صفرًا، فلا يوجد حد.

يتحكم هذا الإعداد أيضًا في سلوك enable_group_by_top_k_optimization.

query_plan_max_optimizations_to_apply

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

يحدّ من إجمالي عدد عمليات التحسين المطبَّقة على خطة الاستعلام؛ راجع الإعداد query_plan_enable_optimizations. وهو مفيد لتجنّب طول زمن التحسين في الاستعلامات المعقّدة. في استعلام EXPLAIN PLAN، يتوقف تطبيق عمليات التحسين بعد الوصول إلى هذا الحد وتُعاد الخطة كما هي. أما في تنفيذ الاستعلام العادي، فإذا تجاوز العدد الفعلي لعمليات التحسين هذا الإعداد، يُطرَح استثناء.

query_plan_max_set_size_for_projection_match

النوع
UInt64
القيمة الافتراضية
10000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.610000تمت إضافة إعداد جديد يقيّد تكلفة مجموعات عبارة `IN` ذات تجزئة المحتوى في مطابِق الإسقاط (حاليًا: الإسقاط التجميعي). وتُعامَل المجموعات التي تتجاوز هذا الحد على أنها غير متطابقة. وتؤدي القيمة صفر إلى تعطيل مقارنة تجزئة المحتوى بالكامل (قيمة compatibility: لا تنجح مطابقة الإسقاط مطلقًا للعُقد التي تحتوي على مجموعات `IN`).

الحد الأقصى لعدد الصفوف في مجموعة عبارة IN التي يحسب لها مطابِق الإسقاط تجزئات المحتوى ويقارنها عند تحديد ما إذا كانت مجموعتان متساويتين. وتُعامَل المجموعات الأكبر من ذلك على أنها غير متطابقة، ويجري تخطي الإسقاط. وتؤدي القيمة صفر إلى تعطيل مقارنة تجزئة المحتوى بالكامل: فلا تنجح مطابقة الإسقاط مطلقًا للعُقد التي تحتوي على مجموعات عبارة IN.

يُستخدم هذا الإعداد بواسطة مطابِق الإسقاط التجميعي (وأي مطابِق إسقاط مستقبلي يحتاج إلى مقارنة مجموعات عبارة IN). وتبلغ تكلفة حساب تجزئة المحتوى O(N log N) بالنسبة إلى عدد عناصر المجموعة؛ ويضع هذا الإعداد حدًا للتكلفة المتكبدة أثناء التخطيط عند ظهور عدد كبير من عبارات IN في الاستعلام أو الإسقاط.

query_plan_max_step_description_length

النوع
UInt64
القيمة الافتراضية
500
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.9500إعداد جديد

الحد الأقصى لطول وصف الخطوة في EXPLAIN PLAN.

query_plan_merge_expression_into_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.71إعداد جديد. يتيح دمج خطوة Expression ضمن خطوة JOIN أثناء تحسين إعادة ترتيب JOIN.

يتيح دمج التعبيرات ضمن خطوة JOIN أثناء تحسين إعادة ترتيب JOIN.

query_plan_merge_expressions

النوع
Bool
القيمة الافتراضية
1

يُفعِّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يدمج عوامل التصفية المتتالية. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_merge_filter_into_join_condition

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.41إضافة إعداد جديد لدمج عامل التصفية ضمن شرط الربط

يسمح بدمج عامل التصفية ضمن شرط JOIN وتحويل CROSS JOIN إلى INNER.

query_plan_merge_filters

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.70السماح بدمج عوامل التصفية في خطة الاستعلام
24.111السماح بدمج عوامل التصفية في خطة الاستعلام. وهذا مطلوب لدعم دفع عوامل التصفية إلى الأسفل بشكل صحيح باستخدام المُحلِّل.

السماح بدمج عوامل التصفية في خطة الاستعلام.

query_plan_min_columns_for_join_lazy_indexing

النوع
UInt64
القيمة الافتراضية
3
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.63التحكم في الحد الأدنى لعدد أعمدة البيانات من الجانب الأيسر اللازمة لتفعيل تحسين الفهرسة الكسولة في JOIN

التحكم في الحد الأدنى لعدد أعمدة البيانات من الجانب الأيسر اللازمة لتفعيل تحسين الفهرسة الكسولة في JOIN. تعني القيمة 0 أن هذا التحسين معطّل.

query_plan_optimize_count_from_text_index

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد

يتيح الإجابة عن SELECT count() ... WHERE <text search predicate> مباشرةً بالاعتماد على عدد عناصر قوائم الإسناد في فهرس النص، من دون تجسيد الصفوف المطابقة. لا يسري إلا عند تمكين query_plan_direct_read_from_text_index.

query_plan_optimize_join_order_algorithm

ميزة تجريبية
النوع
JoinOrderAlgorithm
القيمة الافتراضية
greedy
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.12greedyإعداد تجريبي جديد.

يحدّد خوارزميات ترتيب JOIN التي تجب تجربتها أثناء تحسين خطة الاستعلام. الخوارزميات التالية متاحة:

  • 'greedy' - خوارزمية جشعة أساسية - تعمل بسرعة، لكنها قد لا تنتج أفضل ترتيب لعمليات JOIN
  • 'dpsize' - يطبّق خوارزمية DPsize حاليًا على عمليات الربط الداخلية فقط - يأخذ في الاعتبار جميع ترتيبات JOIN الممكنة ويعثر على الترتيب الأمثل، لكنه قد يكون بطيئًا للاستعلامات التي تتضمن عددًا كبيرًا من الجداول وشروط JOIN.
  • 'dpsub' - يطبّق خوارزمية DPsub التي تدعم عمليات الربط الداخلية وغير الداخلية - يأخذ في الاعتبار جميع ترتيبات JOIN الممكنة ويعثر على الترتيب الأمثل، لكنه قد يكون بطيئًا للاستعلامات التي تتضمن عددًا كبيرًا من الجداول وشروط JOIN.
  • 'dphyp' - يطبّق خوارزمية DPhyp ‏(البرمجة الديناميكية عبر تقسيم الرسم البياني الفائق) حاليًا على عمليات الربط الداخلية فقط - يستكشف مساحة البحث نفسها مثل dpsize، لكنه يعدد فقط أزواج الرسوم البيانية الفرعية المتصلة، ما يولّد عددًا أقل من عمليات JOIN الوسيطة في رسوم JOIN البيانية المتناثرة، على حساب عدم مراعاة الضربات الديكارتية يمكن تحديد عدة خوارزميات في قائمة مفصولة بفواصل، مثل dphyp,greedy. وتُجرَّب بالترتيب؛ فإذا تعذّر على خوارزمية ما التعامل مع الاستعلام (على سبيل المثال بسبب عمليات الربط الخارجية أو المكوّنات غير المتصلة)، تُستخدَم الخوارزمية التالية كخيار احتياطي.

query_plan_optimize_join_order_limit

النوع
UInt64
القيمة الافتراضية
10
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.91إعداد جديد
25.1210السماح افتراضيًا بإعادة ترتيب JOIN لعدد أكبر من الجداول

حسِّن ترتيب عمليات JOIN ضمن الاستعلام الفرعي نفسه. لا يتوفر الدعم حاليًا إلا لحالات محدودة جدًا. القيمة هي الحد الأقصى لعدد الجداول التي يمكن تحسين ترتيبها.

query_plan_optimize_join_order_max_searched_plans

ميزة تجريبية
النوع
UInt64
القيمة الافتراضية
100000
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.6100000إعداد جديد لوضع حدّ لعدد الخطط الجزئية التي يحصيها مُحسِّن ترتيب join قبل الرجوع إلى الخوارزمية التالية.

الحد الأقصى لعدد الخطط الجزئية التي يمكن أن يحصيها مُحسِّن ترتيب join قبل التوقف والرجوع إلى الخوارزمية التالية في query_plan_optimize_join_order_algorithm. يضع هذا حدًا زمنيًا لعملية التحسين على نحو حتمي (بغض النظر عن الزمن الفعلي المنقضي) في رسوم join البيانية الكثيفة، مثل الرسوم الكاملة أو النجمية، حيث ينمو فضاء البحث نموًا أسيًا. اضبط القيمة على 0 لتعطيل هذا الحد. لا يؤثر ذلك في query_plan_optimize_join_order_limit الافتراضي، حيث يظل البحث دائمًا أقل بكثير من هذا الحد.

query_plan_optimize_join_order_randomize

ميزة تجريبية
النوع
UInt64
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.40إعداد جديد لعشوائية إحصاءات ترتيب JOIN لأغراض الاختبار.

عندما تكون القيمة غير صفرية، يستخدم مُحسِّن ترتيب JOIN قيم cardinality وNDV مُولَّدة عشوائيًا بدلًا من الإحصاءات الفعلية. عند تعيينها إلى 1، يُولَّد random seed، وعند تعيينها إلى قيمة > 1، تُستخدم تلك القيمة مباشرةً كبذرة. هذا مخصّص للاختبار بهدف اكتشاف الأخطاء الناتجة عن اختلاف ترتيبات JOIN.

query_plan_optimize_lazy_final

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.40إعداد جديد لتحسين القراءة باستخدام FINAL من ReplacingMergeTree من خلال إنشاء مجموعة من المفاتيح الأساسية واستخدامها في تحليل الفهرس

تحسين القراءة باستخدام FINAL من ReplacingMergeTree من خلال إنشاء مجموعة من المفاتيح الأساسية واستخدامها في تحليل الفهرس.

query_plan_optimize_lazy_materialization

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.41أُضيف إعداد جديد لاستخدام خطة الاستعلام لتحسين التجسيد الكسول

استخدم خطة الاستعلام لتحسين التجسيد الكسول.

query_plan_optimize_lazy_materialization_for_file

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `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

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.91إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg).
26.81إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg).
26.71إعداد جديد لاستخدام التجسيد الكسول لاستعلامات `ORDER BY ... LIMIT n` التي تقرأ ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg).

استخدم تحسين التجسيد الكسول عند قراءة ملفات Parquet من تخزين الكائنات (بما في ذلك جداول Iceberg): في استعلامات ORDER BY ... LIMIT n، لا تُقرأ الأعمدة غير اللازمة للفرز والتصفية إلا للصفوف الـ n التي تبقى بعد تطبيق LIMIT. لا يسري هذا الإعداد إلا إذا كان query_plan_optimize_lazy_materialization مفعّلًا.

query_plan_optimize_prewhere

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.21السماح بتمرير عامل التصفية إلى تعبير PREWHERE لوحدات التخزين المدعومة

السماح بتمرير عامل التصفية إلى تعبير PREWHERE لوحدات التخزين المدعومة

query_plan_push_down_limit

النوع
Bool
القيمة الافتراضية
1

يُفعِّل أو يُعطِّل تحسينًا على مستوى خطة الاستعلام ينقل عبارات LIMIT إلى أسفل ضمن خطة التنفيذ. ولا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_push_down_volume_reducing_functions

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد لدفع الدالات المُقلِّصة للحجم (`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

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.61إعداد جديد يدفع `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

النوع
Bool
القيمة الافتراضية
1

يُفعِّل أو يعطِّل تحسين القراءة بالترتيب على مستوى خطة الاستعلام. ولا يكون له تأثير إلا إذا كان الإعداد query_plan_enable_optimizations مضبوطًا على 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_read_in_order_through_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.121إعداد جديد

الحفاظ على القراءة بالترتيب من الجدول الأيسر في عمليات JOIN، بحيث يمكن للخطوات اللاحقة الاستفادة من ذلك.

query_plan_remove_redundant_distinct

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
23.21إزالة خطوة Distinct غير الضرورية في خطة الاستعلام

يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات DISTINCT غير الضرورية. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_remove_redundant_sorting

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
23.11إزالة الفرز غير الضروري في خطة الاستعلام. على سبيل المثال، خطوات الفرز المرتبطة بعبارات ORDER BY في الاستعلامات الفرعية

يُفعّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات الفرز غير الضرورية، مثل تلك الموجودة في الاستعلامات الفرعية. لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_remove_unused_columns

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.121إعداد جديد. يضيف تحسينًا لإزالة الأعمدة غير المستخدمة في خطة الاستعلام.

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

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_reuse_storage_ordering_for_window_functions

الأسماء البديلة: optimize_read_in_window_order

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.10يُعطَّل هذا المنطق افتراضيًا.

يبدّل تحسينًا على مستوى خطة الاستعلام يستخدم ترتيب التخزين عند الفرز لدوال النوافذ. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_short_circuit_constant_false_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.81إعداد جديد لتقصير تنفيذ `JOIN` عندما يكون شرط `ON` ثابتًا بقيمة false، بحيث لا يُقرأ الجانب غير المساهم. قيمة previous_value=false، لذا فإن استخدام `compatibility` مع الإصدارات السابقة لـ 26.8 يستعيد السلوك السابق (من دون تقصير التنفيذ).

قصّر تنفيذ JOIN عندما يُختزل شرط ON إلى ثابت بقيمة false، وذلك باستبدال كل جانب إدخال لا يمكنه المساهمة بأي صف (كلا الجانبين في INNER/CROSS/SEMI، والجانب غير المحفوظ في LEFT/RIGHT) بمصدر فارغ، بحيث لا يُقرأ الجانب غير المساهم. ينطبق ذلك على المحلل (enable_analyzer = 1) وعلى الخطط غير الموزعة.

query_plan_split_filter

النوع
Bool
القيمة الافتراضية
1

يؤدي إلى تمكين أو تعطيل تحسين على مستوى خطة الاستعلام يقسّم عوامل التصفية إلى تعبيرات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين

query_plan_text_index_add_hint

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.121إعداد جديد

السماح بإضافة تلميح (شرط إضافي) للتصفية يُنشأ من فهرس النص المعكوس في خطة الاستعلام.

query_plan_top_k_through_join

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.51إعداد جديد لتمكين تحسين على مستوى خطة الاستعلام يدفع `ORDER BY ... LIMIT n` عبر ربط LEFT/RIGHT عندما لا يشير مفتاح الفرز إلا إلى الجانب الذي يحتفظ به الربط.

يُبدّل تحسينًا على مستوى خطة الاستعلام يدفع ORDER BY ... LIMIT n إلى أسفل عبر join عندما لا يشير مفتاح الفرز إلا إلى الأعمدة في الجانب الذي يحتفظ به join ‏(LEFT/RIGHT). ويقيّد عدد الصفوف التي يجب أن ينتجها إدخال الجانب الذي يحتفظ به الربط قبل تنفيذ الربط. لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين
النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
25.11إعداد جديد.

يتحكم هذا الإعداد في تفعيل تحسين على مستوى خطة الاستعلام يحاول استخدام فهرس تشابه المتجهات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.

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

  • 0 - تعطيل
  • 1 - تمكين
Navigation