> ## 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.

# إعدادات الجلسة force_*

> إعدادات جلسة ClickHouse ضمن المجموعة المُولَّدة force_*.

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>;
};

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

<div id="force_aggregate_partitions_independently">
  ## force\_aggregate\_partitions\_independently
</div>

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

يفرض استخدام هذا التحسين عندما يكون قابلاً للتطبيق، حتى إذا قررت الآلية الاستدلالية عدم استخدامه

<div id="force_aggregation_in_order">
  ## force\_aggregation\_in\_order
</div>

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

يستخدم الخادم هذا الإعداد نفسه لدعم الاستعلامات الموزعة. لا تغيّره يدويًا، لأن ذلك سيؤدي إلى تعطيل العمليات العادية. (يفرض استخدام تجميع in order على العُقد البعيدة أثناء التجميع الموزّع).

<div id="force_data_skipping_indices">
  ## force\_data\_skipping\_indices
</div>

يعطّل تنفيذ الاستعلام إذا لم تُستخدم فهارس تخطي البيانات المحددة.

ضع في اعتبارك المثال التالي:

```sql theme={null}
CREATE TABLE data
(
    key Int,
    d1 Int,
    d1_null Nullable(Int),
    INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
    INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;

SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- query will produce CANNOT_PARSE_TEXT error.
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- query will produce INDEX_NOT_USED error.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (example of full featured parser).
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- query will produce INDEX_NOT_USED error, since d1_null_idx is not used.
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.
```

<div id="force_grouping_standard_compatibility">
  ## force\_grouping\_standard\_compatibility
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.9"},{"label": "1"},{"label": "اجعل ناتج الدالة GROUPING مطابقًا لما هو عليه في معيار SQL وفي أنظمة DBMS الأخرى"}]}]} />

اجعل الدالة GROUPING تُرجِع 1 عندما لا تُستخدَم الوسيطة كمفتاح للتجميع

<div id="force_index_by_date">
  ## force\_index\_by\_date
</div>

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

يعطّل تنفيذ الاستعلام إذا تعذّر استخدام الفهرس حسب التاريخ.

يعمل مع الجداول من عائلة MergeTree.

إذا كانت قيمة `force_index_by_date=1`، يتحقق ClickHouse مما إذا كان الاستعلام يحتوي على شرط لمفتاح التاريخ يمكن استخدامه لتقييد نطاقات البيانات. وإذا لم يوجد شرط مناسب، فإنه يطلق استثناءً. ومع ذلك، فهو لا يتحقق مما إذا كان الشرط يقلّل كمية البيانات المطلوب قراءتها. على سبيل المثال، يكون الشرط `Date != ' 2000-01-01 '` مقبولًا حتى عندما يطابق جميع البيانات في الجدول (أي إن تشغيل الاستعلام يتطلب فحصًا كاملًا). لمزيد من المعلومات حول نطاقات البيانات في جداول MergeTree، راجع [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree).

<div id="force_primary_key">
  ## force\_primary\_key
</div>

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

يعطّل تنفيذ الاستعلام إذا لم تكن الفهرسة باستخدام المفتاح الأساسي ممكنة.

يعمل مع الجداول في عائلة MergeTree.

إذا كانت `force_primary_key=1`، فإن ClickHouse يتحقق مما إذا كان الاستعلام يحتوي على شرط على المفتاح الأساسي يمكن استخدامه لتقييد نطاقات البيانات. وإذا لم يكن هناك شرط مناسب، فسيؤدي ذلك إلى طرح استثناء. ومع ذلك، فهو لا يتحقق مما إذا كان هذا الشرط يقلّل كمية البيانات المطلوب قراءتها. لمزيد من المعلومات حول نطاقات البيانات في جداول MergeTree، راجع [MergeTree](/docs/ar/reference/engines/table-engines/mergetree-family/mergetree).

<div id="force_remove_data_recursively_on_drop">
  ## force\_remove\_data\_recursively\_on\_drop
</div>

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

يزيل البيانات تعاوديًا عند تنفيذ استعلام DROP. يتجنب خطأ 'المجلد غير فارغ'، لكنه قد يزيل البيانات المفصولة بصمت
