數據庫表字段,DEFAULT NULL與NOT NULL DEFAULT


為什么要把字段設置成not null 呢?

1、空值是不占用空間的

2、mysql中的NULL其實是占用空間的,下面是來自於MYSQL官方的解釋

 

“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的數據(NULL表示可以為任何值),那么,SQL Server在做數據庫比較操作的時候,會使用三值邏輯(TRUE,FALSE,UNKNOWN),而不是平時的二值邏輯(TRUE,FALSE)。因此,在做數據庫設計的時候,我們都要求盡量將表不要設置為NULL類型,如果業務要求需要有空值,我們盡量用實際的默認值來代替NULL(int我們用0,字符串可以是空串等),這樣SQL Server在做比較運算就不會使用到相對復雜的三值邏輯,而采用二值邏輯。
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM