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

query_plan_aggregation_in_order

يُبدّل تحسين التجميع بالترتيب على مستوى خطة الاستعلام. لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations مضبوطًا على 1.
هذا إعداد مخصص للخبراء، ويجب ألا يستخدمه إلا المطورون لأغراض تصحيح الأخطاء. قد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة أو قد يُزال.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_convert_any_join_to_semi_or_anti_join

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

query_plan_convert_join_to_in

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

query_plan_convert_outer_join_to_inner_join

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

query_plan_direct_read_from_text_index

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

query_plan_display_internal_aliases

إظهار الأسماء المستعارة الداخلية (مثل __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_join_shard_by_pk_ranges

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

query_plan_join_swap_table

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

query_plan_lift_up_array_join

يُبدّل تحسينًا على مستوى خطة الاستعلام يرفع عمليات ARRAY JOIN إلى موضع أعلى في خطة التنفيذ. ولا يسري هذا إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations هي 1.
هذا إعداد مخصص للخبراء، ويجب ألا يستخدمه إلا المطورون لأغراض debugging. وقد يتغير هذا الإعداد مستقبلًا بطرق غير متوافقة مع الإصدارات السابقة أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_lift_up_union

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

query_plan_max_limit_for_join_lazy_indexing

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

query_plan_max_limit_for_lazy_materialization

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

query_plan_max_limit_for_top_k_optimization

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

query_plan_max_optimizations_to_apply

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

query_plan_max_set_size_for_projection_match

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

query_plan_max_step_description_length

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

query_plan_merge_expression_into_join

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

query_plan_merge_expressions

يُفعِّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يدمج عوامل التصفية المتتالية. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصص للخبراء، ويجب ألا يستخدمه إلا المطورون لأغراض تصحيح الأخطاء. وقد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة، أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_merge_filter_into_join_condition

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

query_plan_merge_filters

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

query_plan_min_columns_for_join_lazy_indexing

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

query_plan_optimize_join_order_algorithm

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

query_plan_optimize_join_order_limit

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

query_plan_optimize_join_order_max_searched_plans

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

query_plan_optimize_join_order_randomize

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

query_plan_optimize_lazy_final

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

query_plan_optimize_lazy_materialization

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

query_plan_optimize_prewhere

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

query_plan_push_down_limit

يُفعِّل أو يُعطِّل تحسينًا على مستوى خطة الاستعلام ينقل عبارات LIMIT إلى أسفل ضمن خطة التنفيذ. ولا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1.
هذا إعداد مخصّص للخبراء، ويجب ألا يُستخدم إلا لأغراض تصحيح الأخطاء من قِبل المطورين. قد يتغير هذا الإعداد مستقبلًا بطرق غير متوافقة مع الإصدارات السابقة أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_push_limit_by_into_sort

يُفعّل أو يعطّل تحسينًا على مستوى خطة الاستعلام لاستعلامات 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

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

query_plan_remove_redundant_distinct

يُفعّل أو يُعطّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات DISTINCT غير الضرورية. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصّص للخبراء، ويجب ألا يستخدمه إلا المطورون لأغراض التنقيح. وقد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة، أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_remove_redundant_sorting

يُفعّل تحسينًا على مستوى خطة الاستعلام يزيل خطوات الفرز غير الضرورية، مثل تلك الموجودة في الاستعلامات الفرعية. لا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصص للمستخدمين الخبراء، ويجب ألا يستخدمه إلا المطورون لأغراض استكشاف الأخطاء وإصلاحها. قد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة، أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_remove_unused_columns

يُفعّل أو يعطّل تحسينًا على مستوى خطة الاستعلام يحاول إزالة الأعمدة غير المستخدمة (أعمدة الإدخال والإخراج على حدّ سواء) من خطوات خطة الاستعلام. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصّص للمستخدمين الخبراء، ويجب ألا يُستخدم إلا لأغراض تصحيح الأخطاء من قِبل المطورين. وقد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة، أو قد يُزال.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_reuse_storage_ordering_for_window_functions

الأسماء البديلة: optimize_read_in_window_order يبدّل تحسينًا على مستوى خطة الاستعلام يستخدم ترتيب التخزين عند الفرز لدوال النوافذ. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصص للمستخدمين الخبراء، ويجب ألا يُستخدم إلا لأغراض تصحيح الأخطاء من قِبل المطورين. وقد يتغير هذا الإعداد مستقبلًا على نحو غير متوافق مع الإصدارات السابقة، أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_split_filter

هذا إعداد مخصّص للمستخدمين الخبراء، ويجب ألا يستخدمه سوى المطورين لأغراض استكشاف الأخطاء وإصلاحها. قد يتغير هذا الإعداد مستقبلًا بطرق غير متوافقة مع الإصدارات السابقة، أو قد تتم إزالته.
يؤدي إلى تمكين أو تعطيل تحسين على مستوى خطة الاستعلام يقسّم عوامل التصفية إلى تعبيرات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1. القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين

query_plan_text_index_add_hint

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

query_plan_top_k_through_join

يُبدّل تحسينًا على مستوى خطة الاستعلام يدفع ORDER BY ... LIMIT n إلى أسفل عبر join عندما لا يشير مفتاح الفرز إلا إلى الأعمدة في الجانب الذي يحتفظ به join ‏(LEFT/RIGHT). ويقيّد عدد الصفوف التي يجب أن ينتجها إدخال الجانب الذي يحتفظ به الربط قبل تنفيذ الربط. لا يسري مفعوله إلا إذا كان الإعداد query_plan_enable_optimizations يساوي 1. القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين
يتحكم هذا الإعداد في تفعيل تحسين على مستوى خطة الاستعلام يحاول استخدام فهرس تشابه المتجهات. ولا يسري مفعوله إلا إذا كانت قيمة الإعداد query_plan_enable_optimizations تساوي 1.
هذا إعداد مخصّص للمستخدمين الخبراء، ويجب ألا يُستخدم إلا لأغراض استكشاف الأخطاء وإصلاحها من قِبل المطورين. وقد يتغير هذا الإعداد مستقبلًا بطرق غير متوافقة مع الإصدارات السابقة، أو قد تتم إزالته.
القيم الممكنة:
  • 0 - تعطيل
  • 1 - تمكين
آخر تعديل في ٢٤ يوليو ٢٠٢٦