الانتقال إلى المحتوى الرئيسي

أنواع تخطيط القاموس

توجد عدة طرق لتخزين القواميس في الذاكرة، ولكل منها مفاضلات بين استخدام CPU وRAM.
التخطيطات الموصى بهايوفّر flat وhashed وcomplex_key_hashed أفضل أداء للاستعلامات. لا يُنصح بتخطيطات التخزين المؤقت بسبب احتمال ضعف الأداء وصعوبة ضبط المَعلمات — راجع cache للتفاصيل.

تحديد تخطيط القاموس

إذا كنت تستخدم قاموسًا مع ClickHouse Cloud، فيُرجى استخدام خيار DDL query لإنشاء قواميسك، وإنشاء قاموسك كمستخدم default. تحقّق أيضًا من قائمة مصادر القواميس المدعومة في دليل التوافق مع Cloud.
يمكنك ضبط تخطيط القاموس باستخدام العبارة LAYOUT ‏(في DDL) أو الإعداد layout في تعريفات ملف التهيئة.

انظر أيضًا إلى CREATE DICTIONARY للاطّلاع على بنية DDL الكاملة. القواميس التي لا يتضمن تخطيطها الكلمة complex-key* يكون مفتاحها من النوع UInt64، أما قواميس complex-key* فلها مفتاح مركب (معقّد، وبأنواع مختلفة). مثال على مفتاح رقمي (العمود key_column من النوع UInt64):

مثال على مفتاح مركب (يحتوي المفتاح على عنصر واحد من النوع String):

تحسين أداء القاموس

هناك عدة طرق لتحسين أداء القاموس:
  • استدعِ الدالة المستخدمة للعمل مع القاموس بعد GROUP BY.
  • علِّم السمات المراد استخراجها بأنها injective. تُعدّ السمة injective إذا كانت المفاتيح المختلفة تقابلها قيم سمات مختلفة. لذلك، عندما يستخدم GROUP BY دالةً تجلب قيمة سمة باستخدام المفتاح، تُستبعد هذه الدالة تلقائيًا من GROUP BY.
ينشئ ClickHouse استثناءً عند حدوث أخطاء في القواميس. ومن أمثلة هذه الأخطاء:
  • تعذّر تحميل القاموس الجاري الوصول إليه.
  • حدث خطأ أثناء تنفيذ استعلام على قاموس cached.
يمكنك عرض قائمة القواميس وحالاتها في جدول system.dictionaries.
آخر تعديل في ٢ يوليو ٢٠٢٦