在mysql中null代表什麼都沒有,是尚未定義的值,佔用空間,但不能參與任何計算,因為空值參與任何計算都為空。 null使得索引、索引統計和值都更加複雜,並且影響優化器的判斷。
mysql中null確實很難纏,往往很多高手在sql優化時都被它坑過
MySQL中,null是未知的,且佔用空間的。 null使得索引、索引統計和值都更加複雜,並且影響優化器的判斷。
空值('')是不佔用空間的,注意空值的''之間是沒有空格。
在進行count()統計某列的記錄數的時候,如果採用的 NULL 值,會被系統自動忽略掉,但是空值是會進行統計到其中的。
判斷null使用is null或is not null,但判斷空白字元使用 =''或 <>''來處理。
對於timestamp資料類型,如果插入 NULL 值,則出現的值是目前系統時間。插入空值,則會出現'0000-00-00 00:00:00' 。
對於已經創建好的表,普通的列將null修改為not null帶來的效能提升比較小,所以調優時沒有必要特意一一查找並null修改not null。
對於已經建立好的表,如果計劃在列上建立索引,那麼盡量修改為not null,並且使用0 或一個特殊值或空值''。
總之,對於表通常情況也全都指定為not null,並指定 default ''或者其它預設值,優勢大於劣勢。
推薦教學:mysql影片教學
#以上是mysql裡null的意思是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!