> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إعدادات session ‏use_*

> إعدادات session في ClickHouse ضمن المجموعة المُنشأة use_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>النوع</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>القيمة الافتراضية</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          يمكن تغييره دون إعادة التشغيل
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            ميزة تجريبية. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">تعرّف على المزيد.</a></u>
        </div>;
};

هذه الإعدادات متاحة في [system.settings](/docs/ar/reference/system-tables/settings)، وقد وُلِّدت تلقائيًا من [الشفرة المصدرية](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="use_async_executor_for_materialized_views">
  ## use\_async\_executor\_for\_materialized\_views
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "إعداد جديد."}]}]} />

يستخدم تنفيذًا غير متزامن، وربما متعدد الخيوط، لاستعلام العرض المادي، ما قد يسرّع معالجة العروض أثناء INSERT، لكنه يستهلك أيضًا مزيدًا من الذاكرة.

<div id="use_cache_for_count_from_files">
  ## use\_cache\_for\_count\_from\_files
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

يُفعّل التخزين المؤقت لعدد الصفوف عند احتسابها من الملفات في دوال الجداول `file`/`s3`/`url`/`hdfs`/`azureBlobStorage`.

يكون مفعّلًا افتراضيًا.

<div id="use_client_time_zone">
  ## use\_client\_time\_zone
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

استخدم المنطقة الزمنية للعميل لتفسير قيم السلاسل النصية من نوع DateTime بدلًا من استخدام المنطقة الزمنية للخادم.

<div id="use_compact_format_in_distributed_parts_names">
  ## use\_compact\_format\_in\_distributed\_parts\_names
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "استخدام التنسيق المضغوط افتراضيًا لعمليات INSERT غير المتزامنة إلى جداول Distributed"}]}]} />

يستخدم التنسيق المضغوط لتخزين الكتل الخاصة بعمليات INSERT في الخلفية (`distributed_foreground_insert`) إلى الجداول التي تستخدم المحرك `Distributed`.

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

* 0 — يستخدم تنسيق الدليل `user[:password]@host:port#default_database`.
* 1 — يستخدم تنسيق الدليل `[shard{shard_index}[_replica{replica_index}]]`.

<Note>
  - عند استخدام `use_compact_format_in_distributed_parts_names=0`، لن تُطبَّق التغييرات في تعريف العنقود على عمليات INSERT في الخلفية.
  - عند استخدام `use_compact_format_in_distributed_parts_names=1`، فإن تغيير ترتيب العُقد في تعريف العنقود سيؤدي إلى تغيير `shard_index`/`replica_index`، لذا انتبه.
</Note>

<div id="use_concurrency_control">
  ## use\_concurrency\_control
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "1"},{"label": "تفعيل التحكم في التزامن افتراضيًا"}]}]} />

يراعي التحكم في التزامن على مستوى الخادم (راجع إعدادات الخادم العامة `concurrent_threads_soft_limit_num` و `concurrent_threads_soft_limit_ratio_to_cores`). وإذا كان معطّلًا، فسيتيح استخدام عدد أكبر من الخيوط حتى إذا كان الخادم مثقَلًا بالأحمال (وهذا غير موصى به للاستخدام العادي، ويُحتاج إليه غالبًا في الاختبارات).

<div id="use_constant_folding_in_index_analysis">
  ## use\_constant\_folding\_in\_index\_analysis
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "إعداد جديد لطيّ الثوابت على مستوى التقسيم داخل شرط عامل التصفية لكل جزء أثناء تحليل فهرس MergeTree، مما يحسّن الاستبعاد لعوامل التصفية التي تعتمد تفرعاتها على قيم الأقسام."}]}]} />

استبدِل الثوابت على مستوى التقسيم داخل شرط عامل التصفية عند تحليل المفتاح الأساسي وفهارس التخطي لكل جزء.

عندما يظهر مفتاح التقسيم في عامل التصفية مع أعمدة المفتاح الأساسي أو أعمدة فهرس التخطي، يتيح ذلك لتحليل الفهرس طيَّ قيمة التقسيم بشكل منفصل داخل كل جزء. ويكون هذا مفيدًا بشكل خاص مع عوامل التصفية الفصلية التي تستهدف تفرعاتها أقسامًا مختلفة. على سبيل المثال، مع `PARTITION BY a` و`ORDER BY b`:

```sql theme={null}
SELECT * FROM t WHERE (a = 1 AND b >= 1) OR (a = 2 AND b > 10) OR (a = 3 AND b > 10)
```

بالنسبة إلى الجزء ضمن الـ partition ‏`a = 1`، يُبسَّط الشرط إلى `b >= 1`، بينما في الـ partitions ‏`a = 2` و`a = 3` يُبسَّط إلى `b > 10`، لذا يُحلَّل كل جزء باستخدام عبارة الشرط التي تنطبق عليه فعليًا.

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

* 0 — معطّل.
* 1 — مفعّل.

<div id="use_hash_table_stats_for_join_reordering">
  ## use\_hash\_table\_stats\_for\_join\_reordering
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "إعداد جديد. كان يطابق سابقًا الإعداد 'collect_hash_table_stats_during_joins'."}]}]} />

تمكين استخدام إحصاءات جدول التجزئة المجمّعة لتقدير الكاردينالية أثناء إعادة ترتيب عمليات JOIN

<div id="use_hedged_requests">
  ## use\_hedged\_requests
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.9"},{"label": "1"},{"label": "تفعيل ميزة الطلبات التحوطية افتراضيًا"}]}]} />

يُفعّل منطق الطلبات التحوطية للاستعلامات البعيدة. ويتيح إنشاء عدة اتصالات مع replicas مختلفة للاستعلام.
يُنشأ اتصال جديد إذا تعذّر إنشاء الاتصال الحالي (أو الاتصالات الحالية) مع replica (أو replicas) خلال `hedged_connection_timeout`
أو إذا لم يتم تلقي أي بيانات خلال `receive_data_timeout`. يستخدم الاستعلام أول اتصال يرسل حزمة Progress غير فارغة (أو حزمة Data إذا كان `allow_changing_replica_until_first_data_packet` مفعّلًا)؛
وتُلغى الاتصالات الأخرى. الاستعلامات التي تستخدم `max_parallel_replicas > 1` مدعومة.

مفعّل افتراضيًا.

القيمة الافتراضية في Cloud: `0`.

<div id="use_hive_partitioning">
  ## use\_hive\_partitioning
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "تم تمكين هذا الإعداد افتراضيًا."}]}, {"id": "row-2","items": [{"label": "24.8"},{"label": "0"},{"label": "يسمح باستخدام التقسيم بنمط Hive مع محركات File وURL وS3 وAzureBlobStorage وHDFS."}]}]} />

عند تمكين هذا الإعداد، سيكتشف ClickHouse التقسيم بنمط Hive في المسار (`/name=value/`) في محركات الجداول الشبيهة بالملفات [File](/docs/ar/reference/functions/table-functions/file#hive-style-partitioning)/[S3](/docs/ar/reference/functions/table-functions/s3#hive-style-partitioning)/[URL](/docs/ar/reference/functions/table-functions/url#hive-style-partitioning)/[HDFS](/docs/ar/reference/functions/table-functions/hdfs#hive-style-partitioning)/[AzureBlobStorage](/docs/ar/reference/functions/table-functions/azureBlobStorage#hive-style-partitioning)، وسيتيح استخدام أعمدة التقسيم كأعمدة افتراضية في الاستعلام. وستحمل هذه الأعمدة الافتراضية الأسماء نفسها الموجودة في المسار المُقسَّم، لكنها ستبدأ بالبادئة `_`.

<div id="use_join_disjunctions_push_down">
  ## use\_join\_disjunctions\_push\_down
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "تم تمكين هذا التحسين."}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "إعداد جديد."}]}]} />

يمكّن من دفع الأجزاء الموصولة بـ OR من شروط JOIN إلى جهات الإدخال المقابلة ("دفع جزئي").
ويتيح ذلك لمحركات التخزين إجراء التصفية مبكرًا، مما قد يقلل من البيانات المقروءة.
لا يغيّر هذا التحسين الدلالة، ولا يُطبَّق إلا عندما يوفّر كل فرع OR من المستوى الأعلى شرطًا حتميًا واحدًا على الأقل
للجهة المستهدفة.

<div id="use_legacy_to_time">
  ## use\_legacy\_to\_time
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "استخدم الدالة الجديدة `toTime` افتراضيًا (لتحويل القيم إلى نوع البيانات `Time`) بدلًا من الدالة القديمة `toTime` (التي لا تزال متاحة باسم `toTimeWithFixedDate`)."}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "1"},{"label": "إعداد جديد. يتيح للمستخدم استخدام المنطق القديم للدالة `toTime`، والذي يعمل مثل `toTimeWithFixedDate`."}]}]} />

عند تمكين هذا الإعداد، يتيح استخدام الدالة القديمة `toTime`، التي تحوّل قيمة تاريخ ووقت إلى تاريخ ثابت معيّن مع الحفاظ على الوقت.
وبخلاف ذلك، تُستخدم دالة `toTime` الجديدة، التي تحوّل أنواعًا مختلفة من البيانات إلى النوع `Time`.
وتظل الدالة القديمة متاحة دائمًا أيضًا باسم `toTimeWithFixedDate`.

<div id="use_lightweight_primary_key_index_analysis">
  ## use\_lightweight\_primary\_key\_index\_analysis
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "إعداد جديد لتحسين تحليل فهرس المفتاح الأساسي للجداول ذات المفاتيح الأساسية الطويلة"}]}]} />

تحسين تحليل فهرس المفتاح الأساسي لجداول `MergeTree` ذات المفاتيح الأساسية الطويلة.

عند التمكين، يعتمد وقت تشغيل تحليل الفهرس أساسًا على مدى تعقيد شرط التصفية في الاستعلام (أي أعمدة المفتاح التي يستخدمها فعليًا)، لا على طول المفتاح الأساسي — لذا فإن توسيع مفتاح الفرز يضيف عبئًا إضافيًا ضئيلًا جدًا على تحليل الفهرس في الاستعلامات التي تُجري تصفية على عدد قليل فقط من أعمدته.

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

* 0 — معطّل. تُعالَج جميع أعمدة المفتاح الأساسي أثناء تحليل الفهرس.
* 1 — مُمكّن.

<div id="use_parquet_metadata_cache">
  ## use\_parquet\_metadata\_cache
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "يتيح استخدام ذاكرة التخزين المؤقت لبيانات تعريف ملفات Parquet."}]}]} />

عند تفعيل هذا الخيار، قد يستخدم تنسيق Parquet ذاكرة التخزين المؤقت لبيانات تعريف Parquet.

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

* 0 - معطّل
* 1 - مفعّل

<div id="use_primary_key">
  ## use\_primary\_key
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "إعداد جديد يتحكم في ما إذا كان MergeTree يستخدم المفتاح الأساسي لتقليم الحبيبات على مستوى كل granule."}]}]} />

استخدم المفتاح الأساسي لتقليم الحبيبات أثناء تنفيذ الاستعلام في جداول MergeTree.

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

* 0 — معطّل.
* 1 — مفعّل.

<div id="use_reader_executor">
  ## use\_reader\_executor
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "إعداد تجريبي جديد لتوجيه عمليات القراءة عبر خط الأنابيب الجديد ReaderExecutor بدلًا من البنية المتداخلة القديمة لمخازن القراءة المؤقتة."}]}]} />

تجريبي. تُوجَّه عمليات القراءة عبر خط الأنابيب الجديد `ReaderExecutor` بدلًا من البنية المتداخلة القديمة لمخازن القراءة المؤقتة. ويعود إلى المسار القديم في التهيئات التي لا يزال المنفّذ لا يدعمها.

<div id="use_roaring_bitmap_iceberg_positional_deletes">
  ## use\_roaring\_bitmap\_iceberg\_positional\_deletes
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "إعداد جديد"}]}]} />

استخدم roaring bitmap لعمليات الحذف الموضعي في Iceberg.

<div id="use_streaming_marks_compression">
  ## use\_streaming\_marks\_compression
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "إعداد جديد لضغط العلامات إلى تمثيلها داخل الذاكرة كتلةً واحدة في كل مرة (streaming) بدلًا من إنشاء مصفوفة العلامات العادية الكاملة أولًا، مما يقلل ذروة استخدام الذاكرة أثناء تحميل العلامات للأجزاء compact التي تحتوي على العديد من التدفقات الفرعية."}]}]} />

عند تحميل العلامات لأجزاء MergeTree، اضغطها إلى تمثيلها داخل الذاكرة كتلةً واحدة في كل مرة (streaming) بدلًا من إنشاء مصفوفة العلامات العادية الكاملة أولًا. يقلل هذا بشكل كبير من ذروة استخدام الذاكرة أثناء تحميل العلامات للأجزاء compact التي تحتوي على العديد من التدفقات الفرعية (مثل الجداول التي تحتوي على أعمدة JSON مع تفعيل write\_marks\_for\_substreams\_in\_compact\_parts).

<div id="use_strict_insert_block_limits">
  ## use\_strict\_insert\_block\_limits
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "إعداد جديد لاستخدام الحدود الدنيا والعليا الصارمة لكتل insert. عندما يكون min < max، تكون لحدود max الأولوية."}]}]} />

عند تمكينه، يفرض هذا الإعداد بدقة كلاً من الحدين الأدنى والأقصى لحجم كتلة insert.

تُنشأ كتلة عندما:

* العتبات الدنيا (AND): يتم بلوغ كلٍّ من min\_insert\_block\_size\_rows و min\_insert\_block\_size\_bytes.
* العتبات القصوى (OR): يتم بلوغ أحد max\_insert\_block\_size\_rows أو max\_insert\_block\_size\_bytes.

عند تعطيله، تُنشأ كتلة عندما:

* العتبات الدنيا (OR): يتم بلوغ min\_insert\_block\_size\_rows أو min\_insert\_block\_size\_bytes.

**ملاحظة**: إذا كانت إعدادات الحد الأقصى أصغر من إعدادات الحد الأدنى، فستكون لحدود الحد الأقصى الأولوية، وستُنشأ الكتل قبل بلوغ العتبات الدنيا.

**ملاحظة**: يُعطَّل هذا الإعداد تلقائيًا لعمليات insert غير المتزامنة، لأن عمليات insert غير المتزامنة تُرفق رموز إزالة التكرار لكل إدخال، وهي غير متوافقة مع تقسيم الكتل المطلوب لفرض الحدود الصارمة.

معطّل افتراضيًا.

<div id="use_structure_from_insertion_table_in_table_functions">
  ## use\_structure\_from\_insertion\_table\_in\_table\_functions
</div>

<SettingsInfoBlock type="UInt64" default_value="2" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.11"},{"label": "2"},{"label": "تحسين استخدام البنية المستمدة من جدول الإدراج في دوال الجدول"}]}]} />

استخدم البنية من جدول الإدراج بدلًا من استدلال المخطط من البيانات. القيم الممكنة: 0 - معطّل، 1 - مُمكّن، 2 - تلقائي

<div id="use_uncompressed_cache">
  ## use\_uncompressed\_cache
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

ما إذا كان سيتم استخدام cache of uncompressed blocks. يقبل 0 أو 1. والقيمة الافتراضية هي 0 (معطّل).
يمكن أن يؤدي استخدام uncompressed cache (فقط للجداول في tables in the MergeTree family) إلى تقليل زمن الاستجابة بشكل كبير وزيادة معدل النقل عند العمل مع عدد كبير من الاستعلامات القصيرة. فعّل هذا الإعداد للمستخدمين الذين يرسلون طلبات قصيرة متكررة. وانتبه أيضًا إلى المعلَمة [uncompressed\_cache\_size](/docs/ar/reference/settings/server-settings/settings#uncompressed_cache_size) في configuration (يتم ضبطها فقط في config file) — وهي حجم uncompressed cache blocks. وتبلغ قيمتها الافتراضية 8 GiB. ويتم ملء uncompressed cache حسب الحاجة، كما تُحذف البيانات الأقل استخدامًا تلقائيًا.

بالنسبة إلى الاستعلامات التي تقرأ حجمًا كبيرًا نسبيًا من data (مليون row أو أكثر)، يُعطَّل uncompressed cache تلقائيًا لتوفير المساحة للاستعلامات الصغيرة فعلًا. وهذا يعني أنه يمكنك إبقاء الإعداد 'use\_uncompressed\_cache' مضبوطًا دائمًا على 1.

<div id="use_with_fill_by_sorting_prefix">
  ## use\_with\_fill\_by\_sorting\_prefix
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "1"},{"label": "الأعمدة التي تسبق أعمدة WITH FILL في عبارة ORDER BY تُكوِّن بادئة الفرز. وتُملأ الصفوف التي تختلف قيم بادئة الفرز فيها بشكل مستقل"}]}]} />

الأعمدة التي تسبق أعمدة WITH FILL في عبارة ORDER BY تُكوِّن بادئة الفرز. وتُملأ الصفوف التي تختلف قيم بادئة الفرز فيها بشكل مستقل
