T. على سبيل المثال، يمكن لعمود من النوع Nullable(Int8) تخزين قيم من نوع Int8، بينما تُخزَّن NULL في الصفوف التي لا تحتوي على قيمة.
لا يمكن أن يكون T أيًا من أنواع البيانات المركبة التالية:
ومع ذلك، يمكن لأنواع البيانات المركبة أن تتضمن قيمًا من النوع Nullable، مثل Array(Nullable(Int8)) أو Tuple(Nullable(String), Nullable(Int64)).
بيتا: Nullable Tuples
- Nullable(Tuple(…)) مدعوم عند تفعيل
enable_nullable_tuple_type = 1.
Nullable في فهارس الجدول.
تكون NULL هي القيمة الافتراضية لأي نوع Nullable، ما لم يُحدَّد خلاف ذلك في إعدادات خادم ClickHouse.
ميزات التخزين
Nullable في عمود بجدول، يستخدم ClickHouse ملفًا منفصلًا لأقنعة NULL بالإضافة إلى الملف العادي الذي يحتوي على القيم. وتُمكّن البيانات الموجودة في ملف الأقنعة ClickHouse من التمييز بين NULL وdefault value لنوع البيانات المقابل في كل صف من صفوف الجدول. وبسبب هذا الملف الإضافي، يستهلك العمود Nullable مساحة تخزين إضافية مقارنةً بعمود عادي مماثل.
يؤثر استخدام
Nullable سلبًا في الأداء في الغالب، لذا ضع ذلك في الحسبان عند تصميم قواعد البيانات لديك.العثور على NULL
NULL في عمود باستخدام العمود الفرعي null من دون قراءة العمود بأكمله. ويُرجع 1 إذا كانت القيمة المقابلة هي NULL، و0 في غير ذلك.
مثال
Query
Response