「NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.」
儘可能避免NULL:應該指定列爲NOT NULL,除非你想存儲NULL。在MySQL中,含有空值的列很難進行查詢優化。
Mysql難以優化引用可空列查詢,它會使索引、索引統計和值更加複雜。可空列須要更多的存儲空間(見上面的e文),還須要mysql內部進行特殊處理。可空列被索引後,每條記錄都須要一個額外的字節,還能致使MYisam 中固定大小的索引變成可變大小的索引。這也是《高性能mysql第二版》介紹的。 mysql