structure مفتاح القاموس والحقول المتاحة للاستعلامات.
وصف XML:
<id>— عمود المفتاح<attribute>— عمود البيانات: يمكن أن يوجد أكثر من سمة واحدة.
PRIMARY KEY— عمود المفتاحAttrName AttrType— عمود البيانات. يمكن أن تكون هناك عدة سمات.
المفتاح
- مفتاح رقمي.
UInt64. يُعرَّف في الوسم<id>أو باستخدام الكلمة المفتاحيةPRIMARY KEY. - مفتاح مركب. مجموعة من القيم من أنواع مختلفة. يُعرَّف في الوسم
<key>أو باستخدام الكلمة المفتاحيةPRIMARY KEY.
<id> أو <key> فقط. ويجب أن يحتوي استعلام DDL على PRIMARY KEY واحد فقط.
يجب عدم وصف المفتاح على أنه سمة.
المفتاح الرقمي
UInt64.
مثال على التهيئة:
name– اسم العمود الذي يحتوي على المفاتيح.
PRIMARY KEY– اسم العمود الذي يتضمن المفاتيح.
مفتاح مركب
tuple مكوَّنًا من حقول بأي أنواع. ويجب أن يكون التخطيط في هذه الحالة complex_key_hashed أو complex_key_cache.
يُحدَّد تركيب المفتاح في العنصر <key>. وتُحدَّد حقول المفتاح بالتنسيق نفسه المستخدم في سمات القاموس. مثال:
dictGet*، تُمرَّر قيمة tuple كمفتاح. مثال: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).
السمات
| الوسم | الوصف | مطلوب |
|---|---|---|
name | اسم العمود. | نعم |
type | نوع بيانات ClickHouse: UInt8، UInt16، UInt32، UInt64، Int8، Int16، Int32، Int64، Float32، Float64، UUID، Decimal32، Decimal64، Decimal128، Decimal256،Date، Date32، DateTime، DateTime64، String، Array. تحاول ClickHouse تحويل القيمة من القاموس إلى نوع البيانات المحدد. على سبيل المثال، في MySQL، قد يكون الحقل TEXT أو VARCHAR أو BLOB في جدول المصدر في MySQL، لكن يمكن تحميله في ClickHouse على أنه String.يُدعَم Nullable حاليًا في قواميس Flat، وHashed، وComplexKeyHashed، وDirect، وComplexKeyDirect، وRangeHashed، وPolygon، وCache، وComplexKeyCache، وSSDCache، وSSDComplexKeyCache. أمّا في قواميس IPTrie، فلا تُدعَم أنواع Nullable. | نعم |
null_value | القيمة الافتراضية لعنصر غير موجود. في المثال، هي سلسلة نصية فارغة. لا يمكن استخدام قيمة NULL إلا مع الأنواع Nullable (انظر السطر السابق لوصف الأنواع). | نعم |
expression | تعبير تنفّذه ClickHouse على القيمة. يمكن أن يكون التعبير اسم عمود في قاعدة بيانات SQL بعيدة. وبالتالي، يمكنك استخدامه لإنشاء اسم مستعار للعمود البعيد. القيمة الافتراضية: لا يوجد تعبير. | لا |
hierarchical | إذا كانت القيمة true، فستحتوي السمة على قيمة المفتاح الأب للمفتاح الحالي. راجع القواميس الهرمية.القيمة الافتراضية: false. | لا |
injective | علامة توضّح ما إذا كان التقابل id -> attribute تقابلًا أحاديًا.إذا كانت القيمة true، يمكن لـ ClickHouse تلقائيًا وضع طلبات القواميس ذات الخاصية الأحادية بعد العبارة GROUP BY. وعادةً ما يقلّل ذلك بشكل كبير عدد هذه الطلبات.القيمة الافتراضية: false. | لا |
is_object_id | علامة توضّح ما إذا كان الاستعلام يُنفَّذ على مستند MongoDB باستخدام ObjectID.القيمة الافتراضية: false. |