mysql - 資料庫設計( scheme 設計 ), 應該盡力避免 NULL 嗎?
仅有的幸福
仅有的幸福 2017-05-18 10:54:25
0
2
732

實際現象

了解到:

  1. NULL 語意不清晰

  2. query 時不好優化

  3. 如果表示空值, 可以有其他的替代方式( 邏輯上 )

    • VARCHAR(100) NOT NULL DEFAULT '';

    • #INT NOT NULL DEFAULT 0;

#預期現象

  1. 希望能了解在設計scheme的時候, 對待NULL的態度( 記得有看過一篇文章說過, 應該盡量: NOT NULL DEFAULT XXX)

#
仅有的幸福
仅有的幸福

全部回覆(2)
巴扎黑

是,應該盡可能避免可為NULL的列,並且盡可能顯示設定預設值,尤其是被索引的欄位。 mysql中,null佔空間,如果該值被索引,那麼其索引無效。

某草草

是的,判斷欄位不為空的時候,還要用is not null,mysql中的NULL其實是佔用空間的,B樹索引時不會儲存NULL值的,所以如果索引的欄位可以為NULL,索引的效率會下降很多。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板