NULL

佔用空間區別

mysql> select length(NULL),length(''),length(1);
+--------------+------------+-----------+
| length(NULL) | length('') | length(1) |
+--------------+------------+-----------+
|         NULL |          0 |         1 |
+--------------+------------+-----------+
1 row in set (0.12 sec)

''(空值)的長度爲0,是不佔空間的;而NULL的長度是NULL,實際上是佔空間的;

NULL columns require additional space in the row to record whether their values are NULL.

NULL列須要行中的額外空間來記錄它們的值是否爲NULL。

通俗的講:空值就像是一個真空轉態杯子,什麼都沒有,而NULL值就是一個裝滿空氣的杯子,雖然看起來都是同樣的,可是有着本質的區別。

相關文章
相關標籤/搜索