Skip to main content
يسمح بتخزين وسم خاص (NULL) يشير إلى “قيمة مفقودة” إلى جانب القيم العادية التي يسمح بها T. على سبيل المثال، يمكن لعمود من النوع Nullable(Int8) تخزين قيم من نوع Int8، بينما تُخزَّن NULL في الصفوف التي لا تحتوي على قيمة. لا يمكن أن يكون T أيًا من أنواع البيانات المركبة التالية: ومع ذلك، يمكن لأنواع البيانات المركبة أن تتضمن قيمًا من النوع Nullable، مثل Array(Nullable(Int8)) أو Tuple(Nullable(String), Nullable(Int64)). لا يمكن تضمين حقل من النوع Nullable في فهارس الجدول. تكون NULL هي default value لأي نوع Nullable، ما لم يُحدَّد خلاف ذلك في إعدادات خادم ClickHouse.

ميزات التخزين

لتخزين قيم النوع Nullable في عمود بجدول، يستخدم ClickHouse ملفًا منفصلًا لأقنعة NULL بالإضافة إلى الملف العادي الذي يحتوي على القيم. وتُمكّن البيانات الموجودة في ملف الأقنعة ClickHouse من التمييز بين NULL وdefault value لنوع البيانات المقابل في كل صف من صفوف الجدول. وبسبب هذا الملف الإضافي، يستهلك العمود Nullable مساحة تخزين إضافية مقارنةً بعمود عادي مماثل.
يؤثر استخدام Nullable سلبًا في الأداء في الغالب، لذا ضع ذلك في الحسبان عند تصميم قواعد البيانات لديك.

العثور على NULL

يمكن العثور على قيم NULL في عمود باستخدام العمود الفرعي null من دون قراءة العمود بأكمله. ويُرجع بايت قناع NULL المخزَّن: 0 إذا كانت القيمة المقابلة موجودة، وبايتًا غير صفري، وهو 1 في صورته المعيارية، إذا كانت NULL. استخدم isNull عندما تكون هناك حاجة إلى 0 أو 1 على وجه التحديد. مثال
Query
Response

مثال على الاستخدام

آخر تعديل في ٢٦ سبتمبر ٢٠٢٦