1. 程式人生 > >Mysql varchar 把默認值設置為null和空的區別

Mysql varchar 把默認值設置為null和空的區別

指向 變量 因此 區別 char 轉換 強行 含義 提高

‘\0‘,這個表示空,需要消耗存儲空間的。
NULL,則表示連這個\0都沒有。

NULL,你可以近似理解為變量未賦值(定義了變量,但是未使用,變量不指向具體存儲空間,因此,理論上不消耗存儲空間),同時,它理論上不可以輸出,因為變量本身沒有內容(一些語言是可以強行將NULL輸出來,是因為它內部做了隱性類型轉換,例如就將NULL自動轉為空)。

空“”,你可以近似理解為空串(定義了變量,並且賦值為空,這個空是具有含義的,需要消耗存儲空間),可以輸出來,展示表現為空。

不使用NULL可以提高索引效率,因為樹形索引結構中將NULL也視作一般數據節點。

Mysql varchar 把默認值設置為null和空的區別