Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

إعدادات الجلسة use_top_k_dynamic_filtering_*

هذه الإعدادات متاحة في system.settings، وهي مُنشأة تلقائيًا من المصدر.

use_top_k_dynamic_filtering

النوع
Bool
القيمة الافتراضية
1
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.51تمكين تحسين التصفية الديناميكية لاستعلامات TopK افتراضيًا
25.120إعداد جديد.

يُفعِّل تحسين التصفية الديناميكية عند تنفيذ استعلام ORDER BY <column> LIMIT n.

عند التمكين، سيحاول منفّذ الاستعلام تخطي الـ granules والصفوف التي لن تكون ضمن صفوف top N النهائية في مجموعة النتائج. وهذا التحسين ديناميكي بطبيعته، وتعتمد تحسينات زمن الاستجابة على توزيع البيانات ووجود شروط تصفية أخرى في الاستعلام.

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

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

use_top_k_dynamic_filtering_for_variable_length_types

النوع
Bool
القيمة الافتراضية
0
سجل الإصدارات
الإصدارالقيمة الافتراضيةالتعليق
26.50تعطيل `use_top_k_dynamic_filtering` افتراضيًا لأعمدة الفرز ذات الأنواع متغيرة الطول (مثل `String`)؛ وكان السلوك السابق يطبّق هذا التحسين دون قيد، ولا يزال محفوظًا ضمن `compatibility`.

اسمح بتطبيق use_top_k_dynamic_filtering عندما يكون عمود الفرز من نوع بيانات متغيّر الطول (مثل String وArray وMap وTuple الذي يحتوي على عناصر متغيرة الطول).

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

عندما يكون هذا الإعداد 0، تقتصر التصفية الديناميكية على الأعمدة التي تكون لقيمها سعة قصوى ثابتة في الذاكرة (الأرقام، Date، DateTime، FixedString، Enum، وNullable لهذه الأنواع، وTuple لهذه الأنواع). وعند ضبطه على 1، تنطبق التصفية الديناميكية على الأنواع متغيرة الطول أيضًا.

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

  • 0 — معطّل.
  • 1 — مفعّل.
Navigation