هذه الإعدادات متاحة في system.settings، ويتم توليدها تلقائيًا من المصدر.
prefer_column_name_to_alias
يُمكّن أو يعطّل استخدام أسماء الأعمدة الأصلية بدلًا من الأسماء المستعارة في تعبيرات الاستعلام وبنوده. وتبرز أهميته خصوصًا عندما يكون الاسم المستعار مطابقًا لاسم العمود؛ راجع 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
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.5 | 16744704 | فضّل الحد الأقصى لحجم الكتلة بالبايتات للفرز الخارجي، وقلّل استهلاك الذاكرة أثناء الدمج. |
فضّل الحد الأقصى لحجم الكتلة بالبايتات للفرز الخارجي، وقلّل استهلاك الذاكرة أثناء الدمج.
prefer_global_in_and_join
يُفعّل استبدال معاملي 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.
على سبيل المثال، قد تكون لدينا عُقد لخدمة الاستعلامات تحتوي على جداول محلية غير مناسبة للتوزيع. في هذه الحالة نحتاج إلى توزيع بياناتها ديناميكيًا أثناء المعالجة الموزعة باستخدام الكلمة المفتاحية GLOBAL — GLOBAL IN/GLOBAL JOIN.
ومن حالات الاستخدام الأخرى لـ prefer_global_in_and_join الوصول إلى الجداول المُنشأة باستخدام محركات خارجية. يساعد هذا الإعداد على تقليل عدد الاستدعاءات إلى المصادر الخارجية عند ربط مثل هذه الجداول: استدعاء واحد فقط لكل استعلام.
انظر أيضًا:
- الاستعلامات الفرعية الموزعة لمزيد من المعلومات حول كيفية استخدام
GLOBAL IN/GLOBAL JOIN
prefer_localhost_replica
يُفعِّل/يُعطِّل تفضيل استخدام النسخة المتماثلة على localhost عند معالجة الاستعلامات الموزعة.
القيم الممكنة:
- 1 — يرسل ClickHouse دائمًا الاستعلام إلى النسخة المتماثلة على localhost إذا كانت موجودة.
- 0 — يستخدم ClickHouse استراتيجية موازنة التحميل المحددة في الإعداد load_balancing.
prefer_warmed_unmerged_parts_seconds
لا يكون لهذا الإعداد أي تأثير إلا في ClickHouse Cloud. إذا كان عمر جزء مدموج أقل من هذا العدد من الثواني ولم يكن مُسخَّنًا مسبقًا (راجع cache_populated_by_fetch)، وكانت جميع أجزائه المصدر متاحة ومُسخَّنة مسبقًا، فستقرأ استعلامات SELECT من تلك الأجزاء بدلًا منه. ينطبق هذا فقط على Replicated-/SharedMergeTree. لاحظ أن هذا لا يتحقق إلا مما إذا كان CacheWarmer قد عالج الجزء؛ فإذا كان الجزء قد جُلِب إلى الذاكرة المؤقتة بوسيلة أخرى، فسيظل يُعتبر باردًا إلى أن يعالجه CacheWarmer؛ وإذا كان قد سُخِّن ثم أُخرج من الذاكرة المؤقتة، فسيظل يُعتبر دافئًا.