1. 程式人生 > 資料庫 >Oracle和Mysql中 not null區別是什麼?

Oracle和Mysql中 not null區別是什麼?

Oracle 和 Mysql 不相同點:
    1.Mysql中 Null 會比空值佔用更多儲存空間,但是Oracle中 Null和空值一樣.
    2.Mysql中 Null 可能不走索引(取決於null比例),Oracle 中 Null 不會走索引

Oracle 和 Mysql 相同點:
    1.select count(列) 都不統計 NULL 值

總結: 無論是mysql還是oracle建議欄位都是 NOT NULL

Mysql中 Null 會比空值佔用更多儲存空間:
    select length(NULL), length(''), length('1') ;
    length(NULL)    length('')    length('1')
    [NULL]            0            1

oracle空間 Null和空值一樣.
    select length(NULL), length(''), length('1') FROM dual;
    LENGTH(NULL)    LENGTH('')    LENGTH('1')
    [NULL]            [NULL]        1

是否走索引驗證可自行檢視執行計劃