هذه الإعدادات متاحة في system.settings، وهي مُولَّدة تلقائيًا من المصدر.
max_analyze_depth
الحد الأقصى لعدد عمليات التحليل التي ينفّذها المفسّر.
max_autoincrement_series
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.1 | 1000 | إعداد جديد |
الحد الأقصى لعدد السلاسل التي تُنشئها الدالة generateSerialID.
ونظرًا لأن كل سلسلة تمثل عقدة في Keeper، يُستحسن ألا يتجاوز عددها بضعة ملايين.
max_backup_bandwidth
الحد الأقصى لسرعة القراءة، بالبايت في الثانية، لنسخة احتياطية معيّنة على الخادم. تعني القيمة صفر عدم وجود حد.
max_block_size
في ClickHouse، تُعالَج البيانات على شكل كتل، وهي مجموعات من أجزاء الأعمدة. وتكون دورات المعالجة الداخلية للكتلة الواحدة فعّالة، لكن هناك تكاليف ملحوظة مرتبطة بمعالجة كل كتلة.
يشير الإعداد max_block_size إلى الحد الأقصى الموصى به لعدد الصفوف التي ينبغي تضمينها في كتلة واحدة عند تحميل البيانات من الجدول. ولا تُحمَّل دائمًا كتل بحجم max_block_size من الجدول: فإذا حدّد ClickHouse أن المطلوب استرجاع بيانات أقل، فستُعالَج كتلة أصغر.
يجب ألا يكون حجم الكتلة صغيرًا جدًا لتجنّب التكاليف الملحوظة عند معالجة كل كتلة. كما يجب ألا يكون كبيرًا جدًا لضمان تنفيذ الاستعلامات التي تتضمن عبارة LIMIT بسرعة بعد معالجة الكتلة الأولى. وعند ضبط max_block_size، ينبغي أن يكون الهدف هو تجنّب استهلاك قدر كبير من الذاكرة عند استخراج عدد كبير من الأعمدة عبر خيوط متعددة، مع الحفاظ على قدرٍ من محلية ذاكرة التخزين المؤقت.
max_columns_to_read
الحد الأقصى لعدد الأعمدة التي يمكن قراءتها من جدول ضمن استعلام واحد. إذا تطلّب الاستعلام قراءة عدد من الأعمدة أكبر من العدد المحدد، فسيتم إطلاق استثناء.
تعني القيمة 0 عدم وجود حد.
max_compress_block_size
الحد الأقصى لحجم كتل البيانات غير المضغوطة قبل ضغطها عند الكتابة إلى جدول. تكون القيمة الافتراضية 1,048,576 (1 MiB). ويؤدي تحديد حجم كتلة أصغر عادةً إلى انخفاض طفيف في نسبة الضغط، مع زيادة طفيفة في سرعة الضغط وفك الضغط بسبب محلية ذاكرة التخزين المؤقت، وتقليل استهلاك الذاكرة.
لا تخلط بين الكتل المستخدمة للضغط (وهي جزء من الذاكرة يتكوّن من بايتات) والكتل المستخدمة في معالجة الاستعلامات (وهي مجموعة من الصفوف من جدول).
max_consume_snapshots
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.5 | 0 | إعداد جديد. |
الحد الأقصى لعدد لقطات Paimon التي يمكن استهلاكها في كل قراءة تزايدية. تعني القيمة 0 عدم وجود حد.
max_estimated_execution_time
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.1 | 0 | فصل max_execution_time عن max_estimated_execution_time |
الحد الأقصى للوقت التقديري لتنفيذ الاستعلام، بالثواني. ويُتحقَّق منه عند كل كتلة بيانات
عند انتهاء timeout_before_checking_execution_speed.
max_expanded_ast_elements
الحد الأقصى لحجم شجرة بناء جملة الاستعلام، محسوبًا بعدد العُقد، بعد توسيع الأسماء البديلة والنجمة.
max_fetch_partition_retries_count
عدد مرات إعادة المحاولة عند جلب قسم من مضيف آخر.
max_final_threads
يحدّد الحد الأقصى لعدد خيوط التنفيذ المتوازية في مرحلة قراءة بيانات استعلام SELECT عند استخدام المُعدِّل FINAL.
القيم الممكنة:
- عدد صحيح موجب.
- 0 أو 1 — معطّل. تُنفَّذ استعلامات
SELECTباستخدام خيط تنفيذ واحد.
max_http_get_redirects
الحد الأقصى المسموح به لعدد قفزات إعادة توجيه HTTP GET. يضمن ذلك وجود تدابير أمان إضافية لمنع خادم خبيث من إعادة توجيه طلباتك إلى خدمات غير متوقعة.\n\nتحدث هذه الحالة عندما يعيد خادم خارجي التوجيه إلى عنوان آخر، لكن هذا العنوان يبدو داخليًا ضمن البنية التحتية للشركة. وعند إرسال طلب HTTP إلى خادم داخلي، قد تتمكن من طلب واجهة برمجة تطبيقات داخلية من الشبكة الداخلية مع تجاوز المصادقة، أو حتى الاستعلام عن خدمات أخرى مثل Redis أو Memcached. إذا لم تكن لديك بنية تحتية داخلية (بما في ذلك أي شيء يعمل على localhost)، أو كنت تثق في الخادم، فمن الآمن السماح بإعادة التوجيه. ومع ذلك، ضع في اعتبارك أنه إذا كان URL يستخدم HTTP بدلًا من HTTPS، فسيتعين عليك الوثوق ليس فقط بالخادم البعيد، بل أيضًا بمزوّد خدمة الإنترنت لديك وبكل شبكة وسيطة.
Cloud default value: 10.
max_limit_for_vector_search_queries
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.5 | 1000 | إعداد جديد |
استعلامات SELECT التي يتجاوز فيها LIMIT هذا الإعداد لا يمكنها استخدام فهارس تشابه المتجهات. يساعد ذلك على منع تجاوز الذاكرة في فهارس تشابه المتجهات.
max_os_cpu_wait_time_ratio_to_throw
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.5 | 0 | تم تغيير قيم الإعداد ونقلها إلى 25.4 |
| 25.4 | 0 | إعداد جديد |
الحد الأقصى للنسبة بين وقت انتظار CPU في نظام التشغيل (المقياس OSCPUWaitMicroseconds) ووقت الانشغال (المقياس OSCPUVirtualTimeMicroseconds) الذي عنده يُؤخذ رفض الاستعلامات في الاعتبار. يُستخدم الاستيفاء الخطي بين النسبة الدنيا والقصوى لحساب الاحتمال، ويكون الاحتمال 1 عند هذه النقطة.
max_parallel_replicas
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.1 | 1000 | استخدم ما يصل إلى 1000 نسخة متماثلة متوازية افتراضيًا. |
الحد الأقصى لعدد النسخ المتماثلة لكل shard عند تنفيذ استعلام.
القيم الممكنة:
- عدد صحيح موجب.
معلومات إضافية
قد يؤدي هذا الخيار إلى نتائج مختلفة بحسب الإعدادات المستخدمة.
المعالجة المتوازية باستخدام مفتاح SAMPLE
قد يُعالَج الاستعلام بسرعة أكبر إذا نُفِّذ على عدة خوادم بالتوازي. لكن قد يتراجع أداء الاستعلام في الحالات التالية:
- لا يسمح موضع مفتاح أخذ العينات ضمن مفتاح التقسيم بإجراء عمليات فحص نطاق فعّالة.
- تؤدي إضافة مفتاح أخذ العينات إلى الجدول إلى تقليل كفاءة التصفية حسب الأعمدة الأخرى.
- يكون مفتاح أخذ العينات تعبيرًا مكلفًا من حيث الحساب.
- يتسم توزيع الكمون في العنقود بذيل طويل، مما يعني أن الاستعلام عبر عدد أكبر من الخوادم يزيد الكمون الإجمالي للاستعلام.
المعالجة المتوازية باستخدام parallel_replicas_custom_key
يفيد هذا الإعداد مع أي جدول مُكرَّر.
max_parsing_threads
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 0 | إضافة إعداد منفصل للتحكم في عدد الخيوط المستخدَمة لتحليل البيانات من الملفات بالتوازي |
أقصى عدد من الخيوط لتحليل البيانات في تنسيقات الإدخال التي تدعم التحليل المتوازي. ويُحدَّد هذا العدد تلقائيًا افتراضيًا.
max_partition_size_to_drop
قيد على حذف الأقسام أثناء تنفيذ الاستعلام. وتعني القيمة 0 أنه يمكنك حذف الأقسام دون أي قيود.
Cloud default value: 1 TB.
max_parts_to_move
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.10 | 1000 | إعداد جديد |
يحدّد الحد الأقصى لعدد الأجزاء التي يمكن نقلها في استعلام واحد. وتعني القيمة صفر عدم وجود حد.
max_projection_rows_to_use_projection_index
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.11 | 1000000 | إعداد جديد |
إذا كان عدد الصفوف المراد قراءتها من فهرس الإسقاط أقل من هذه العتبة أو مساويًا لها، فسيحاول ClickHouse تطبيق فهرس الإسقاط أثناء تنفيذ الاستعلام.
max_query_size
الحد الأقصى لعدد البايتات في سلسلة الاستعلام التي يحللها محلل SQL. تُعالَج البيانات في عبارة VALUES ضمن استعلامات INSERT بواسطة محلل تدفق منفصل (يستهلك O(1) من RAM)، ولا تتأثر بهذا القيد.
max_recursive_cte_evaluation_depth
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 24.4 | 1000 | الحد الأقصى لعمق تقييم تعبير الجدول الشائع التكراري |
الحد الأقصى لعمق تقييم تعبير الجدول الشائع التكراري
max_replica_delay_for_distributed_queries
يعطّل النسخ المتماثلة المتأخرة للاستعلامات الموزعة. راجع النسخ المتماثل.
يضبط الوقت بالثواني. إذا كان تأخر نسخة متماثلة أكبر من القيمة المحددة أو مساويًا لها، فلن تُستخدم هذه النسخة المتماثلة.
القيم الممكنة:
- عدد صحيح موجب.
- 0 — لا يتم التحقق من تأخر النسخ المتماثلة.
لمنع استخدام أي نسخة متماثلة ذات تأخر غير صفري، اضبط هذه المعلمة على 1.
يُستخدم عند تنفيذ SELECT من جدول موزع يشير إلى جداول خاضعة للنسخ المتماثل.
max_reverse_dictionary_lookup_cache_size_bytes
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 25.12 | 104857600 | إعداد جديد. الحد الأقصى للحجم بالبايت لذاكرة التخزين المؤقت لعملية lookup العكسي في القاموس لكل query، والمستخدمة بواسطة الدالة `dictGetKeys`. تخزن ذاكرة التخزين المؤقت قيم Tuple للمفاتيح بعد تسلسلها لكل قيمة سمة، لتجنب إعادة فحص القاموس ضمن الـ query نفسها. |
الحد الأقصى للحجم بالبايت لذاكرة التخزين المؤقت لعملية lookup العكسي في القاموس لكل query، والمستخدمة بواسطة الدالة dictGetKeys. تخزن ذاكرة التخزين المؤقت قيم Tuple للمفاتيح بعد تسلسلها لكل قيمة سمة، لتجنب إعادة فحص القاموس ضمن الـ query نفسها. عند بلوغ الحد، تُزال العناصر باستخدام LRU. اضبط القيمة على 0 لتعطيل التخزين المؤقت.
max_sessions_for_user
الحد الأقصى لعدد الجلسات المتزامنة لكل مستخدم مُصادَق عليه على خادم ClickHouse.
مثال:
<profiles>
<single_session_profile>
<max_sessions_for_user>1</max_sessions_for_user>
</single_session_profile>
<two_sessions_profile>
<max_sessions_for_user>2</max_sessions_for_user>
</two_sessions_profile>
<unlimited_sessions_profile>
<max_sessions_for_user>0</max_sessions_for_user>
</unlimited_sessions_profile>
</profiles>
<users>
<!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
<Alice>
<profile>single_session_user</profile>
</Alice>
<!-- User Bob can use 2 simultaneous sessions. -->
<Bob>
<profile>two_sessions_profile</profile>
</Bob>
<!-- User Charles can use arbitrarily many of simultaneous sessions. -->
<Charles>
<profile>unlimited_sessions_profile</profile>
</Charles>
</users>القيم الممكنة:
- عدد صحيح موجب
0- عدد غير محدود من الجلسات المتزامنة (الافتراضي)
max_subquery_depth
إذا كان الاستعلام يحتوي على عدد من الاستعلامات الفرعية المتداخلة يتجاوز العدد المحدد، فسيتم طرح استثناء.
max_table_size_to_drop
قيد على حذف الجداول وقت تنفيذ الاستعلام. وتعني القيمة 0 أنه يمكنك حذف جميع الجداول دون أي قيود.
Cloud default value: 1 TB.
max_untracked_memory
تُجمَّع عمليات التخصيص وإلغاء التخصيص الصغيرة في متغيّر محلي على مستوى الخيط، ولا تُتبع أو يُنشأ لها ملف تعريف إلا عندما يصبح المقدار (من حيث القيمة المطلقة) أكبر من القيمة المحددة. وإذا كانت القيمة أكبر من memory_profiler_step، فسيجري خفضها فعليًا إلى memory_profiler_step.
max_wkb_geometry_elements
سجل الإصدارات
| الإصدار | القيمة الافتراضية | التعليق |
|---|---|---|
| 26.4 | 1000000 | إعداد جديد لتقييد عدد العناصر في تحليل بيانات WKB الهندسية، مما يمنع التخصيص المفرط للذاكرة عند وجود بيانات غير سليمة. |
الحد الأقصى لعدد النقاط أو الحلقات أو المضلعات المسموح به في عنصر هندسي واحد بصيغة WKB أثناء التحليل بواسطة readWKB والدوال ذات الصلة. يوفّر هذا حماية من التخصيصات المفرطة للذاكرة الناتجة عن بيانات WKB غير سليمة. اضبطه على 0 لاستخدام الحد المضمَّن في الشيفرة (100 مليون).