أنواع تخطيط القاموس
توجد عدة طرق لتخزين القواميس في الذاكرة، ولكل منها مفاضلات بين استخدام CPU وRAM.لا تصلح التخطيطات المعتمدة على التخزين المؤقت للإثراء الموثوق وقت الإدراج، لأن عناصرها المُحمَّاة مسبقًا تبقى محلية على كل خادم، وتُفقد عند إعادة تشغيل الخادم أو استبداله. ويزيد التوسع التلقائي في ClickHouse Cloud واستبدال العُقد المُدار من احتمال حدوث ذلك. لذا استخدم بدلًا منها تخطيطًا مُحمَّلًا بالكامل؛ راجع قواميس التخزين المؤقت في مسارات الإدخال.
تحديد تخطيط القاموس
يمكنك ضبط تخطيط القاموس باستخدام العبارةLAYOUT (في DDL) أو الإعداد layout في تعريفات ملف التهيئة.
- DDL
- ملف التهيئة
انظر أيضًا إلى CREATE DICTIONARY للاطّلاع على بنية DDL الكاملة. القواميس التي لا يتضمن تخطيطها الكلمة
complex-key* يكون مفتاحها من النوع UInt64، أما قواميس complex-key* فلها مفتاح مركب (معقّد، وبأنواع مختلفة).
مثال على مفتاح رقمي (العمود key_column من النوع UInt64):
- DDL
- ملف التهيئة
مثال على مفتاح مركب (يحتوي المفتاح على عنصر واحد من النوع String):
- DDL
- ملف التهيئة
تحسين أداء القاموس
هناك عدة طرق لتحسين أداء القاموس:- استدعِ الدالة المستخدمة للعمل مع القاموس بعد
GROUP BY. - علِّم السمات المراد استخراجها بأنها injective.
تُعدّ السمة injective إذا كانت المفاتيح المختلفة تقابلها قيم سمات مختلفة.
لذلك، عندما يستخدم
GROUP BYدالةً تجلب قيمة سمة باستخدام المفتاح، تُستبعد هذه الدالة تلقائيًا منGROUP BY.
- تعذّر تحميل القاموس الجاري الوصول إليه.
- حدث خطأ أثناء تنفيذ استعلام على قاموس
cached.