Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة prefer_*

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

prefer_column_name_to_alias

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

يُمكّن أو يعطّل استخدام أسماء الأعمدة الأصلية بدلًا من الأسماء المستعارة في تعبيرات الاستعلام وبنوده. وتبرز أهميته خصوصًا عندما يكون الاسم المستعار مطابقًا لاسم العمود؛ راجع Expression Aliases. فعّل هذا الإعداد لجعل قواعد استخدام الأسماء المستعارة في ClickHouse أكثر توافقًا مع معظم محركات قواعد البيانات الأخرى.

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

  • 0 — يُستبدل اسم العمود بالاسم المستعار.
  • 1 — لا يُستبدل اسم العمود بالاسم المستعار.

مثال

الفرق بين حالتي التمكين والتعطيل:

الاستعلام:

SET prefer_column_name_to_alias = 0;
SELECT avg(number) AS number, max(number) FROM numbers(10);

النتيجة:

Received exception from server (version 21.5.1):
Code: 184. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function avg(number) is found inside another aggregate function in query: While processing avg(number) AS number.

الاستعلام:

SET prefer_column_name_to_alias = 1;
SELECT avg(number) AS number, max(number) FROM numbers(10);

النتيجة:

┌─number─┬─max(number)─┐
│    4.5 │           9 │
└────────┴─────────────┘

prefer_external_sort_block_bytes

النوع
UInt64
القيمة الافتراضية
16744704
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
24.516744704فضّل الحد الأقصى لحجم الكتلة بالبايتات للفرز الخارجي، وقلّل استهلاك الذاكرة أثناء الدمج.

فضّل الحد الأقصى لحجم الكتلة بالبايتات للفرز الخارجي، وقلّل استهلاك الذاكرة أثناء الدمج.

prefer_global_in_and_join

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

يُفعّل استبدال معاملي IN/JOIN بـ GLOBAL IN/GLOBAL JOIN.

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

  • 0 — معطّل. لا يتم استبدال معاملي IN/JOIN بـ GLOBAL IN/GLOBAL JOIN.
  • 1 — مفعّل. يتم استبدال معاملي IN/JOIN بـ GLOBAL IN/GLOBAL JOIN.

الاستخدام

مع أن SET distributed_product_mode=global يمكنه تغيير سلوك الاستعلامات في الجداول الموزعة، فإنه لا يناسب الجداول المحلية أو الجداول القادمة من مصادر خارجية. وهنا تظهر أهمية الإعداد prefer_global_in_and_join.

على سبيل المثال، قد تكون لدينا عُقد لخدمة الاستعلامات تحتوي على جداول محلية غير مناسبة للتوزيع. في هذه الحالة نحتاج إلى توزيع بياناتها ديناميكيًا أثناء المعالجة الموزعة باستخدام الكلمة المفتاحية GLOBALGLOBAL IN/GLOBAL JOIN.

ومن حالات الاستخدام الأخرى لـ prefer_global_in_and_join الوصول إلى الجداول المُنشأة باستخدام محركات خارجية. يساعد هذا الإعداد على تقليل عدد الاستدعاءات إلى المصادر الخارجية عند ربط مثل هذه الجداول: استدعاء واحد فقط لكل استعلام.

انظر أيضًا:

prefer_localhost_replica

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

يُفعِّل/يُعطِّل تفضيل استخدام النسخة المتماثلة على localhost عند معالجة الاستعلامات الموزعة.

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

  • 1 — يرسل ClickHouse دائمًا الاستعلام إلى النسخة المتماثلة على localhost إذا كانت موجودة.
  • 0 — يستخدم ClickHouse استراتيجية موازنة التحميل المحددة في الإعداد load_balancing.

prefer_warmed_unmerged_parts_seconds

متاح فقط في ClickHouse Cloud
النوع
Int64
القيمة الافتراضية
0

لا يكون لهذا الإعداد أي تأثير إلا في ClickHouse Cloud. إذا كان عمر جزء مدموج أقل من هذا العدد من الثواني ولم يكن مُسخَّنًا مسبقًا (راجع cache_populated_by_fetch)، وكانت جميع أجزائه المصدر متاحة ومُسخَّنة مسبقًا، فستقرأ استعلامات SELECT من تلك الأجزاء بدلًا منه. ينطبق هذا فقط على Replicated-/SharedMergeTree. لاحظ أن هذا لا يتحقق إلا مما إذا كان CacheWarmer قد عالج الجزء؛ فإذا كان الجزء قد جُلِب إلى الذاكرة المؤقتة بوسيلة أخرى، فسيظل يُعتبر باردًا إلى أن يعالجه CacheWarmer؛ وإذا كان قد سُخِّن ثم أُخرج من الذاكرة المؤقتة، فسيظل يُعتبر دافئًا.

Navigation