* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
2.4 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
54 | Nullable |
Nullable(typename)
اجازه می دهد تا برای ذخیره نشانگر ویژه (NULL) که نشان دهنده “missing value” در کنار مقادیر عادی مجاز TypeName
. برای مثال یک Nullable(Int8)
ستون نوع می تواند ذخیره شود Int8
ارزش نوع و ردیف است که ارزش ذخیره خواهد شد NULL
.
برای یک TypeName
شما نمی توانید از انواع داده های کامپوزیت استفاده کنید & حذف و تاپل. انواع داده های کامپوزیت می تواند شامل Nullable
مقادیر نوع مانند Array(Nullable(Int8))
.
A Nullable
فیلد نوع را نمی توان در شاخص های جدول گنجانده شده است.
NULL
مقدار پیش فرض برای هر Nullable
نوع, مگر اینکه در غیر این صورت در پیکربندی سرور کلیک مشخص.
ویژگی های ذخیره سازی
برای ذخیره Nullable
ارزش نوع در یک ستون جدول, تاتر با استفاده از یک فایل جداگانه با NULL
ماسک علاوه بر فایل عادی با ارزش. مطالب در ماسک فایل اجازه می دهد خانه کلیک برای تشخیص بین NULL
و یک مقدار پیش فرض از نوع داده مربوطه را برای هر سطر جدول. به دلیل یک فایل اضافی, Nullable
ستون مصرف فضای ذخیره سازی اضافی در مقایسه با یک نرمال مشابه.
!!! info "یادداشت"
با استفاده از Nullable
تقریبا همیشه منفی تاثیر می گذارد عملکرد, نگه داشتن این در ذهن در هنگام طراحی پایگاه داده های خود را.
مثال طریقه استفاده
CREATE TABLE t_null(x Int8, y Nullable(Int8)) ENGINE TinyLog
INSERT INTO t_null VALUES (1, NULL), (2, 3)
SELECT x + y FROM t_null
┌─plus(x, y)─┐
│ ᴺᵁᴸᴸ │
│ 5 │
└────────────┘