الصيغة
data_type— String، وFixedString، وDate، وDateTime، والأنواع العددية باستثناء Decimal. لا تكونLowCardinalityفعّالة مع بعض أنواع البيانات؛ راجع وصف الإعداد allow_suspicious_low_cardinality_types.
الوصف
LowCardinality هو بنية إضافية تغيّر طريقة تخزين البيانات وقواعد معالجتها. يطبّق ClickHouse ترميز القاموس على أعمدة LowCardinality. ويؤدي العمل مع البيانات المرمّزة بالقاموس إلى زيادة ملحوظة في أداء استعلامات SELECT في العديد من التطبيقات.
تعتمد كفاءة استخدام نوع البيانات LowCardinality على مدى تنوّع البيانات. إذا كان القاموس يحتوي على أقل من 10,000 قيمة مميّزة، فعادةً ما يوفّر ClickHouse كفاءة أعلى في قراءة البيانات وتخزينها. أمّا إذا كان القاموس يحتوي على أكثر من 100,000 قيمة مميّزة، فقد يكون أداء ClickHouse أسوأ مقارنةً باستخدام أنواع البيانات العادية.
فكّر في استخدام LowCardinality بدلًا من Enum عند العمل مع السلاسل النصية. يوفّر LowCardinality مرونة أكبر في الاستخدام، وغالبًا ما يحقق الكفاءة نفسها أو كفاءة أعلى.
مثال
LowCardinality:
- low_cardinality_max_dictionary_size
- low_cardinality_use_single_dictionary_for_part
- low_cardinality_allow_in_native_format
- allow_suspicious_low_cardinality_types
- output_format_arrow_low_cardinality_as_dictionary