> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> إعدادات جلسة ClickHouse في المجموعة المُولَّدة use_statistics_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["الإصدار", "القيمة الافتراضية", "التعليق"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        سجل الإصدارات
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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](/ar/reference/system-tables/settings)، وقد وُلِّدت تلقائيًا من [الشيفرة المصدرية](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

## use\_statistics

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "تفعيل هذا التحسين افتراضيًا."}]}]} />

/// يُفضَّل على 'allow\_statistics\_optimize' اتساقًا مع 'use\_primary\_key' و'use\_skip\_indexes'
يسمح باستخدام الإحصاءات لتحسين الاستعلامات

## use\_statistics\_cache

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "تمكين ذاكرة التخزين المؤقت للإحصاءات"}]}, {"id": "row-2","items": [{"label": "25.11"},{"label": "0"},{"label": "إعداد جديد"}]}]} />

استخدم ذاكرة التخزين المؤقت للإحصاءات في الاستعلام لتجنّب العبء الإضافي الناتج عن تحميل إحصاءات جميع الأجزاء

## use\_statistics\_for\_min\_max\_aggregation

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "1"},{"label": "إعداد جديد يتيح الإجابة عن تجميعات `min` و`max` و`count` التي لا تتضمن `GROUP BY` ولا عوامل تصفية، وذلك انطلاقاً من إحصاءات الأعمدة الخاصة بكل جزء للأجزاء التي جُسِّدت فيها هذه الإحصاءات، مع قراءة الأجزاء المتبقية فقط. previous_value=false بحيث يُبقي `compatibility` مع الإصدارات الأقدم من 26.9 هذا التحسين معطلاً ويستعيد الخطة السابقة."}]}]} />

الإجابة عن تجميعات `min` و`max` و`count` انطلاقاً من إحصاءات الأعمدة الخاصة بكل جزء بدلاً من قراءة البيانات.

عند التمكين، يُجاب عن استعلام بالشكل `SELECT min(column), max(column), count() FROM table` لا يتضمن `GROUP BY` ولا عوامل تصفية
انطلاقاً من إحصاءات الأعمدة (مثل إحصاءات MinMax، انظر إعداد MergeTree المسمى `auto_statistics_types`)
للأجزاء التي جُسِّدت فيها هذه الإحصاءات، ولا تُقرأ سوى الأجزاء المتبقية.

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

* 0 — معطل.
* 1 — مُمكّن.

## use\_statistics\_for\_part\_pruning

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "إعداد جديد لاستخدام الإحصاءات لاستبعاد الأجزاء أثناء تنفيذ الاستعلام."}]}]} />

استخدم الإحصاءات لتصفية الأجزاء أثناء تنفيذ الاستعلام.

عند التمكين، سيُستخدم استبعاد الأجزاء في استعلامات SELECT بالاعتماد على إحصاءات الأعمدة (مثل إحصاءات MinMax) لاستبعاد الأجزاء التي لا يمكن أن تحتوي على بيانات مطابقة قبل قراءة أي بيانات.

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

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