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

# كيفية ضبط الإعدادات لمستخدم في ClickHouse

> تعرّف على كيفية تحديد الإعدادات في ClickHouse للاستعلامات الفردية، أو جلسات العميل، أو مستخدمين محددين باستخدام أمري `SET` و`ALTER USER`.

{frontMatter.description}

<div id="introduction">
  ## المقدمة
</div>

توجد عدة طرق لتعيين إعداد لمستخدم في ClickHouse، وذلك بحسب حالة الاستخدام ومدة بقاء هذا الإعداد مُعدًّا. لنلقِ نظرة على بعض السيناريوهات...

<div id="configure-a-setting-for-a-single-query">
  ## ضبط إعداد لاستعلام واحد
</div>

يمكن أن يتضمن استعلام `SELECT` عبارة `SETTINGS` يمكنك فيها تحديد أي عدد من الإعدادات. ولا تُطبَّق هذه الإعدادات إلا على هذا الاستعلام تحديدًا. على سبيل المثال:

```sql theme={null}
SELECT *
FROM my_table
SETTINGS max_threads = 8;
```

سيكون الحد الأقصى لعدد خيوط التنفيذ 8 لهذا الاستعلام تحديدًا.

<div id="configure-a-setting-for-a-session">
  ## ضبط إعداد لجلسة
</div>

يمكنك تحديد إعداد طوال مدة جلسة العميل باستخدام عبارة `SET`. يفيد ذلك في الاختبارات المؤقتة أو عندما تريد أن يظل الإعداد ساريًا طوال عدد قليل من الاستعلامات، لا أكثر.

```sql theme={null}
SET max_threads = 8;

SELECT *
FROM my_table;
```

<div id="configure-a-setting-for-a-particular-user">
  ## إعداد إعداد لمستخدم معيّن
</div>

استخدم `ALTER USER` لتحديد إعداد لمستخدم معيّن فقط. على سبيل المثال:

```sql theme={null}
ALTER USER my_user_name SETTINGS max_threads = 8;
```

يمكنك التحقق من نجاح ذلك بتسجيل الخروج من عميلك، ثم تسجيل الدخول مجددًا، ثم استخدام الدالة `getSetting`:

```sql theme={null}
SELECT getSetting('max_threads');
```

<Note>
  سيؤدي تحديد الإعدادات بهذه الطريقة إلى استبدال الإعدادات الحالية للمستخدم. أي إذا كانت هناك إعدادات أخرى مُطبَّقة على المستخدم ولم تحددها في تعليمة `ALTER USER`، فستفقدها.

  إذا كنت تريد الاحتفاظ بإعداداتك، فاستخدم `ALTER USER ... MODIFY SETTING ...` بدلًا من ذلك.
</Note>
