<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      MySQL 空值字段應該保存 NULL 還是默認值?

      0
      分享至

      使用 MySQL 數據庫時,對于一個可以為空的字段,如果沒有值,應該保存 NULL 還是給一個默認值呢?多數時候我們不太注意,有時候不賦值,直接保存 NULL,有時候賦值一個業務指定的默認值。今天來聊一聊這個話題。

      1.行數據存儲

      MySQL 保存一行數據時,不僅僅會保存數據本身,還會保存數據相關的額外信息。InnoDB 存儲引擎支持四種行格式,MySQL 5.7 版本之后,默認使用 Dynamic 行格式。看一下官網給出的 4 種格式說明:


      DYNAMIC 和 COMPRESSED 這兩種格式都是 COMPACT 的改進版,基本結構跟 COMPACT 類似,我們看一下 COMPACT 這種格式。如下圖:

      我們創建一張表:

      CREATE TABLE`t_user` (`id`bigint(20) NOTNULL AUTO_INCREMENT,`name`varchar(16) DEFAULTNULL,`email`varchar(32) DEFAULTNULL,`address`varchar(255) DEFAULTNULL,PRIMARY KEY (`id`)) ENGINE=InnoDBDEFAULTCHARSET=latin1;

      插入 2 行數據,


      數據行保存格式如下圖:


      變長字段寬度列表保存變長字段非空值長度。從上圖可以看到,變長字段寬度列表存放的列寬度順序和數據表中的列順序相反,也就是說變長字段寬度列表逆序存放列寬度。


      如果表中所有列都是NOT NULL并且具有固定長度,則沒有變長字段寬度列表這個部分

      同樣,NULL 值列表也是逆序保存,當該值是 NULL 時,用二進制 1 表記,否則就保存二進制 0。


      如果表中所有列都是NOT NULL,就沒有 NULL值列表這個部分。

      記錄頭信息用 5 個字節保存,主要記錄數據的一些信息,比如:

      • delete-flag:記錄是否刪除,我們知道,在 MySQL 中刪除一條數據,并不會馬上從磁盤上刪除,而是打上刪除標記,在空余時間再進行異步清理。

      • record_type:記錄類型,比如普通記錄、非葉子節點記錄。

      • next_record:指向下一條記錄的地址指針。

      • n_owned:記錄該組數據的條數。

      隱藏列

      • DB_TRX_ID:修改(插入、更新或刪除)這一條數據的事務 id;

      • DB_ROLL_PTR:回滾指針,指向修改前的歷史版本,用于回滾操作;

      • DB_ROW_ID:當表中不定義主鍵時用作主鍵來自動生成聚簇索引。

      2.NULL 處理

      根據上面的分析和實際使用,如果我們把一個字段直接定義成 NOT NULL,有下面好處:

      • 節省存儲空間:NULL 值雖然不會占用數據存儲空間,但是需要額外 1~2 個字節保存 NULL 值列表。

      • 減少應用程序 NullPointerException 的可能性;

      • 減少統計問題:比如 count(字段)不會統計 NULL 值。

      • 對索引有好處,索引是不會保存 NULL 值的,定義成 NULL 會使索引效率下降。

      • 比較操作:字段定義成 NULL,只能使用 is null 和 is not null 進行判斷,不能使用比較操作比如 =、!=、>、<(都會返回 null) 。

      • 范圍操作:字段定義成 NULL,使用 in、not in 語句時會返回空結果。

      當然,設置為 NULL,并不是沒有好處,比如:

      • 語義清晰?:NULL 表示“無值”或“未知”,這在邏輯上更清晰準確;

      • 靈活性?:NULL 值更容易篩選,比如在 WHERE 子句中使用 is null 進行篩選;

      • 兼容性?:類似 JOIN 操作,NULL 跟任何值比較都會返回 NULL,這有助于保持數據的一致性和完整性。

      在實際項目開發中,我們經常會在值是 NULL 的情況下給一個默認值,比如”-“、”“、”N/A“等,這一定程度上避免了空指針,但是往往帶來一些額外的問題,比如上下游系統因為默認值的不一致導致業務處理受影響。

      在表設計時,我們其實沒有必要過多地考慮定義成 NULL 或默認值在存儲空間上的影響,更多的應該考慮系統整體設計規范、保證各子系統在設計上的一致性,這樣才能讓處理邏輯更加健壯。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      互聯網是有記憶的,她的黑歷史一大堆啊!

      互聯網是有記憶的,她的黑歷史一大堆啊!

      BenSir本色說
      2026-04-15 22:38:07
      耿同學被下套?接到“神秘”電話!要求淡化上海大學論文造假事件

      耿同學被下套?接到“神秘”電話!要求淡化上海大學論文造假事件

      趣筆談
      2026-05-16 09:04:28
      陳毅讓算命先生看手相,事后對警衛員說:此人必須重用

      陳毅讓算命先生看手相,事后對警衛員說:此人必須重用

      鶴羽說個事
      2026-05-14 22:36:17
      兩性關系:55-65歲這十年,惜命最好的方式,不是鍛煉,做好這6點

      兩性關系:55-65歲這十年,惜命最好的方式,不是鍛煉,做好這6點

      三農老歷
      2026-04-13 17:10:06
      WC!突發內訌!雄鹿最快速度交易...

      WC!突發內訌!雄鹿最快速度交易...

      技巧君侃球
      2026-05-15 15:46:09
      杭州街頭跪地救人女子身份曝光!新華社親自點名,工作單位被曝光

      杭州街頭跪地救人女子身份曝光!新華社親自點名,工作單位被曝光

      小陸搞笑日常
      2026-05-16 00:08:50
      上海零售業資本變局:告別十余年托管,國資龍頭百聯股份“甩掉”虧損的聯華超市

      上海零售業資本變局:告別十余年托管,國資龍頭百聯股份“甩掉”虧損的聯華超市

      時代財經
      2026-05-14 23:18:33
      王少杰辦理離職手續!

      王少杰辦理離職手續!

      體育哲人
      2026-05-15 18:14:42
      上海87-82戰勝北京!賽后數據一清二楚,不是王哲林 最大功臣是他

      上海87-82戰勝北京!賽后數據一清二楚,不是王哲林 最大功臣是他

      小火箭愛體育
      2026-05-15 21:32:09
      來了來了!19歲超級新星!正式打進中國男籃

      來了來了!19歲超級新星!正式打進中國男籃

      籃球實戰寶典
      2026-05-15 17:19:02
      全紅嬋媽媽住院照曝光!已經無力握住嬋寶的手,嬋寶的話字字催淚

      全紅嬋媽媽住院照曝光!已經無力握住嬋寶的手,嬋寶的話字字催淚

      喜歡歷史的阿繁
      2026-05-15 18:25:43
      形勢已然大變!西方媒體集體改口:中國,已無需再向世界證明什么

      形勢已然大變!西方媒體集體改口:中國,已無需再向世界證明什么

      看盡人間百態
      2026-04-09 23:55:01
      馬斯克訪華像回家,母親已長住上海,兒子身價萬億她還做視頻帶貨

      馬斯克訪華像回家,母親已長住上海,兒子身價萬億她還做視頻帶貨

      云舟史策
      2026-05-16 07:16:45
      他曾是129師旅長,建國后搭檔成為開國上將,他卻淪為剃頭匠

      他曾是129師旅長,建國后搭檔成為開國上將,他卻淪為剃頭匠

      墨策史
      2026-05-16 08:35:46
      毫不意外!特朗普專機啟程返美,禁帶中國物品,收走扔進垃圾桶?

      毫不意外!特朗普專機啟程返美,禁帶中國物品,收走扔進垃圾桶?

      骨子里的一身傲氣
      2026-05-16 02:50:09
      兩次嫁給梁靖崑,退圈安心照顧兩個兒子,如今丈夫成為大學教授

      兩次嫁給梁靖崑,退圈安心照顧兩個兒子,如今丈夫成為大學教授

      杰絲聊古今
      2026-05-16 09:02:46
      郵報:伯恩茅斯主場翻新工程有重大進展,但僅增加800個座位

      郵報:伯恩茅斯主場翻新工程有重大進展,但僅增加800個座位

      懂球帝
      2026-05-16 09:27:06
      松下L10發布:一臺為"塑造情緒"而生的口袋相機

      松下L10發布:一臺為"塑造情緒"而生的口袋相機

      時光慢郵啊
      2026-05-15 01:24:42
      突發槍響!小馬科斯大勢已去,菲軍方趕緊劃清,中菲關系可能好轉

      突發槍響!小馬科斯大勢已去,菲軍方趕緊劃清,中菲關系可能好轉

      觀史搜尋著
      2026-05-16 01:38:05
      印度:我們每家都有電視,中國行嗎?法國:人家中國居民不用偷電

      印度:我們每家都有電視,中國行嗎?法國:人家中國居民不用偷電

      離離言幾許
      2026-04-10 14:51:25
      2026-05-16 10:07:00
      ITPUB學院
      ITPUB學院
      分享技術干貨,了解最新動態
      1220文章數 629關注度
      往期回顧 全部

      科技要聞

      直降千元起步!蘋果華為率先開啟618讓利

      頭條要聞

      特朗普抵京當晚在機場執勤的禮兵震動外網 詳情披露

      頭條要聞

      特朗普抵京當晚在機場執勤的禮兵震動外網 詳情披露

      體育要聞

      35歲坎特,干了一件這輩子最吵的事

      娛樂要聞

      張嘉譯和老婆的差距讓人心酸

      財經要聞

      造詞狂魔賈躍亭

      汽車要聞

      高爾夫GTI刷新紐北紀錄 ID. Polo GTI迎全球首秀

      態度原創

      游戲
      本地
      數碼
      旅游
      公開課

      全魔獸最團結的教派,專注搞事20年,首領居然是個食人魔?

      本地新聞

      用蘇繡的方式,打開江西婺源

      數碼要聞

      5年打磨:前蘋果設計師透露AirPods Max研發細節

      旅游要聞

      首屆中國新文創市集暨潮玩游園會在京開幕

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 成人亚洲欧美久久久久| 成 人 网 站 在线 看 免费| 亚洲AV无码一二区三区在线播放| 一本一本久久aa综合精品| 在线亚洲视频网站www色| 国产一区二区三精品久久久无广告 | av黄色网址| 亚洲天堂网一区| 久久久久人妻一区精品果冻| 疯狂做受xxxx高潮视频免费 | 九九热在线视频免费观看| 亚洲最大有声小说AV网| 国产成人高清亚洲一区久久| 多人乱p视频在线免费观看| 免费古装A级毛片无码| 久久不见久久见www免费视频 | 国产成人香蕉久久久久| 综合久久久久久综合久| 狼友福利在线观看| 人妻少妇看A偷人无码电影| 国产国产人免费视频成69| 婷婷色爱区综合五月激情韩国| 亚洲精品四区| 午夜AV电影在线观看亚洲一区二区| 好男人视频www在线观看| 国产男人的天堂在线视频| 精品少妇爆乳无码av无码专区| 久久福利网| 2021年最新久久久视精品爱| 国产制服丝袜在线视频观看| 人妻a?v| 亚洲一区成人在线视频| 精品视频专区| 亚洲免费v片| 国产天美传媒性色av高清| 亚洲AV永久无码精品放毛片| 久久久这里只有精品10| 欧美日韩a√| 亚洲天堂免费| 国产在线视频你懂的| 亚洲二区中文字幕在线|