prefer_column_name_to_alias
يُمكّن أو يعطّل استخدام أسماء الأعمدة الأصلية بدلًا من الأسماء المستعارة في تعبيرات الاستعلام وبنوده. وتبرز أهميته خصوصًا عندما يكون الاسم المستعار مطابقًا لاسم العمود؛ راجع Expression Aliases. فعّل هذا الإعداد لجعل قواعد استخدام الأسماء المستعارة في ClickHouse أكثر توافقًا مع معظم محركات قواعد البيانات الأخرى. القيم الممكنة:- 0 — يُستبدل اسم العمود بالاسم المستعار.
- 1 — لا يُستبدل اسم العمود بالاسم المستعار.
id في id AS x هو عمود موجود في كل من t1 وt3، لذا يُحلّ إلى الاسم المستعار t1.id + 10.
مثال
الفرق بين حالتي التمكين والتعطيل:
الاستعلام:
prefer_external_sort_block_bytes
فضّل الحد الأقصى لحجم الكتلة بالبايتات للفرز الخارجي، وقلّل استهلاك الذاكرة أثناء الدمج.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.
عطّل هذا الإعداد إذا كنت تستخدم max_parallel_replicas بدون parallel_replicas_custom_key.
إذا كان parallel_replicas_custom_key مضبوطًا، فعطّل هذا الإعداد فقط إذا كان يُستخدم على عنقود يحتوي على عدة أجزاء وعدة نسخ متماثلة.
أما إذا كان يُستخدم على عنقود يحتوي على جزء واحد وعدة نسخ متماثلة، فسيكون لتعطيل هذا الإعداد آثار سلبية.
prefer_optimize_projection
يجعل تحسين الـ PROJECTION يفضّل استخدام projections على الجدول في استعلاماتSELECT، وذلك عندما يكون تحسين الـ PROJECTION مفعّلاً (انظر الإعداد optimize_use_projections).
عند تفعيله، يُستخدم أي PROJECTION قادر على تلبية الاستعلام حتى لو تطلّب قراءة عدد من marks أكبر مما يتطلبه الجدول نفسه، تماماً كما هو الحال مع force_optimize_projection، غير أن الاستعلام لا يفشل عندما يتعذّر استخدام أي PROJECTION.
القيم الممكنة:
- 0 — يتم اختيار الـ projections بناءً على تكلفتها التقديرية.
- 1 — يتم اختيار PROJECTION قابل للاستخدام بغض النظر عن تكلفته التقديرية.