精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

字節(jié)一面:20億手機(jī)號存儲選int還是string?varchar還是char?為什么?

開發(fā) 前端
在Java中,int是 32位,最大值為 2^31 - 1 = 2,147,483,647。約等于 2×10?。顯然,如果用int,根本存不下 11位的手機(jī)號碼。 要想存得下,得用64位的Long類型,也就是對應(yīng)數(shù)據(jù)庫的bigInt。

前言

大家好,我是田螺。

最近一位星球粉絲說,他去面試了字節(jié),問了這么一道題,20億手機(jī)號存儲,選int還是string?varchar還是char?為什么?

他支支吾吾回答了幾句,好像看起來,面試官面色凝重,對他不是很滿意,果然最好還是掛了。。。

本文跟大家聊聊我的思路。

  • 20億數(shù)據(jù),用Int存儲存在哪些問題?
  • 面試官的隱藏考察點(diǎn)
  • 日常開發(fā)避坑點(diǎn)

1. 20億數(shù)據(jù),用Int或者BigInt能有在哪些問題?

1.1 int存得下11位數(shù)字嘛?

首先,我們都知道手機(jī)號,是11位的數(shù)字,比如13728199213.

在Java中,int是 32位,最大值為 2^31 - 1 = 2,147,483,647。約等于 2×10?。顯然,如果用int,根本存不下 11位的手機(jī)號碼。

要想存得下,得用64位的Long類型,也就是對應(yīng)數(shù)據(jù)庫的bigInt。

1.2 數(shù)據(jù)完整性

例如手機(jī)號01324567890,用Long存會變成1324567890,直接破壞數(shù)據(jù)完整性。

Long phoneNumber =01324567890L; //編譯報錯,Java不允許前導(dǎo)0的Long整數(shù)

并且,有時候,有些手機(jī)號可能包含國家代碼如(+86),或者有些時候,是有連字符的,比如137-2819-9213. 這些原因都導(dǎo)致不能用整型類型存儲。

1.3 查詢麻煩

比如,你要查找,手機(jī)號是137開頭的手機(jī)號號碼,如果用BigInt(Long類型)需先轉(zhuǎn)字符串再模糊匹配,效率暴跌。

2. 用String有哪些好處

  • 保真:數(shù)字、符號、前導(dǎo)零全能存,原樣保留。
  • 靈活:支持模糊查詢、國際號碼,擴(kuò)展無憂。
  • 省心:無需擔(dān)心溢出或格式轉(zhuǎn)換問題。
CREATE TABLE user_tab (
  id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用戶ID',
  phone_number VARCHAR(20) NOT NULL COMMENT '手機(jī)號',
  PRIMARY KEY (id),
  UNIQUE KEY idx_phone (phone_number)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用戶表';

2. 面試官的隱藏考察點(diǎn)

面試的時候,面試官主要考察候選人的一些業(yè)務(wù)擴(kuò)展性、數(shù)據(jù)容錯性、思考問題全面性等能力。我們先通過:為什么用 VARCHAR(20) 而不是 VARCHAR(11),來給面試官秀一波肌肉~~

2.1 為什么用 VARCHAR(20) 而不是 VARCHAR(11)

我們就拿手機(jī)號來說,為什么更建議用 VARCHAR(20),而不是VARCHAR(11)呢?

因?yàn)槲覀兌贾溃謾C(jī)號是11位的,為什么不直接用VARCHAR(11)呢?

如果你日常開發(fā)中,就有思考數(shù)據(jù)容錯性習(xí)慣的話,就會想到:

  • 如果遇到國際號碼:+8613822223333(14位)
  • 帶國家碼的號碼:008613822223333(15位)
  • 分機(jī)號:13822223333#123(超11位)

這些場景,都會導(dǎo)致VARCHAR(11)報錯崩盤。

其次就是業(yè)務(wù)擴(kuò)展性思考:VARCHAR(11)只能存純11位數(shù)字,假設(shè)未來業(yè)務(wù)需要:

  • 支持座機(jī)號(如010-62223333,含橫杠)
  • 支持虛擬號(如17012341234-5678)
  • 支持其他登錄方式(如郵箱+手機(jī)號混合存儲)

因此,字段長度和類型需提前為業(yè)務(wù)變化留余地,避免頻繁改表。這就是日常開發(fā)中的,業(yè)務(wù)擴(kuò)展性思維思考。

還有數(shù)據(jù)容錯性思考,

  • 輸入不可控性:用戶可能輸入帶空格/符號的號碼(如138 2222 3333),直接存原始值更方便清洗。
  • 設(shè)計妥協(xié):若強(qiáng)制用VARCHAR(11),需在代碼層嚴(yán)格過濾非數(shù)字字符,增加復(fù)雜度。

還有思考問題全面性,比如存儲成本思考。

  • VARCHAR(11):最大占 11字節(jié)(utf8mb4下1字符占4字節(jié),但數(shù)字和+號只占1字節(jié))
  • VARCHAR(20):最大占 20字節(jié)
  • 20億數(shù)據(jù)相差僅約 18GB(和用BIGINT的16GB對比,總成本仍可接受)。

所以面試官期待的答案公式

合理長度 = 基礎(chǔ)需求 + 國際擴(kuò)展 + 容錯緩沖

當(dāng)然,這個不是固定答案,主要還是面試的時候,你回答面試官的思路和表達(dá),最好體現(xiàn)你有這幾個方面的思考:業(yè)務(wù)擴(kuò)展性、數(shù)據(jù)容錯性、思考問題全面性。

2.2 極端場景

如果手機(jī)號是純數(shù)字,并且第一位不是0的話,可以用BIGINT的,但是永遠(yuǎn)不要使用INT。通過這些極端場景的舉例,也體現(xiàn)你思考問題全面性的一個能力。

3. 日常開發(fā)避坑點(diǎn)

設(shè)計手機(jī)號存儲的時候,有哪些需要避的坑的。

主要有這幾個吧:

3.1 字段長度設(shè)計過小

用 VARCHAR(11) 只存純數(shù)字,遇到 +8613822223333(14位)直接截斷。

用 VARCHAR(20) 兼容國際號、分機(jī)號(如 13822223333#123)。'

3.2 字符集和排序規(guī)則

使用 utf8 字符集,無法存儲 emoji 或特殊符號

用 utf8mb4 + utf8mb4_unicode_ci,兼容所有 Unicode 字符(如 + * #)。

3.3 索引設(shè)計不當(dāng)

未對手機(jī)號加唯一索引,導(dǎo)致重復(fù)數(shù)據(jù)。

添加 UNIQUE 約束:ALTER TABLE user ADD UNIQUE INDEX idx_phone (phone);

3.4 數(shù)據(jù)清洗與校驗(yàn)缺失

用戶輸入 138-2222-3333 或 138 222 23333,直接存儲導(dǎo)致格式混亂。

  • 入庫前統(tǒng)一清洗:移除空格、橫杠等符號,只保留 + 和數(shù)字。
  • 正則校驗(yàn):例如 ^+?\d{8,20}$(允許帶 + 號的 8~20 位數(shù)字)。

3.5 忽視隱私與安全

明文存儲手機(jī)號,泄露用戶隱私。

  • 加密存儲:使用 AES 加密或數(shù)據(jù)庫內(nèi)置加密函數(shù)。
  • 脫敏顯示:查詢結(jié)果返回 138****3333。

3.5 風(fēng)控校驗(yàn)

// 嚴(yán)格校驗(yàn)(11位純數(shù)字,無國際碼)
String regex = "^1(3[0-9]|4[579]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\\d{8}$";

// 寬松校驗(yàn)(允許帶國際碼,如+86 13812345678)
String looseRegex = "^(\\+\\d{1,3})?1(3\\d|4[579]|5[0-35-9]|6[2567]|7[0-8]|8\\d|9[0-35-9])\\d{8}$";

責(zé)任編輯:武曉燕 來源: 撿田螺的小男孩
相關(guān)推薦

2024-11-26 08:52:34

SQL優(yōu)化Kafka

2021-10-01 00:02:54

CHAR VARCHARMYSQL

2024-10-30 16:12:14

2022-03-30 10:10:17

字節(jié)碼棧空間

2021-05-08 08:55:54

CPUIBMIntel

2022-11-30 17:13:05

MySQLDynamic存儲

2022-08-13 12:07:14

URLHTTP加密

2024-09-19 08:51:01

HTTP解密截取

2022-10-10 08:13:16

遞歸通用代碼

2019-07-29 15:08:34

RedisHashString

2021-04-05 14:22:47

Facebook數(shù)據(jù)泄露攻擊

2024-09-04 15:17:23

2022-05-10 22:00:41

UDPTCP協(xié)議

2021-02-05 10:58:28

數(shù)據(jù)存儲架構(gòu)

2022-01-05 21:54:51

網(wǎng)絡(luò)分層系統(tǒng)

2024-08-06 10:16:52

Java AgentJava

2021-09-18 05:37:34

手機(jī)號一證通查微信

2015-02-11 10:37:58

騰訊ROM

2022-08-18 17:44:25

HTTPS協(xié)議漏洞

2025-09-03 10:01:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

91成人免费观看| 欧美精品在线免费播放| caopor在线视频| 黄色网址在线免费播放| 丁香婷婷深情五月亚洲| 国产成人av在线| 91嫩草|国产丨精品入口| 狠狠一区二区三区| 欧美日韩免费在线视频| 成年女人18级毛片毛片免费| 九色视频在线播放| 国产成人综合亚洲91猫咪| 欧美亚洲成人精品| 91精品国产高清一区二区三蜜臀| 日韩精品欧美大片| 制服丝袜激情欧洲亚洲| 777777av| 18+激情视频在线| 久久久久久久综合| 国产91亚洲精品一区二区三区| 激情五月婷婷网| 国产精品啊啊啊| www.亚洲免费视频| 国产人妻一区二区| 99精品国产高清一区二区麻豆| 色伊人久久综合中文字幕| 91嫩草国产丨精品入口麻豆| 青青青免费视频在线2| 国产成人自拍网| 国产美女91呻吟求| 免费av中文字幕| 亚洲九九精品| 久久久久久久久久久免费精品| 国产探花视频在线| 欧美日韩xxxx| 日韩电影大全免费观看2023年上| 永久av免费在线观看| 日韩成人精品一区二区三区| 91国偷自产一区二区三区观看| 免费不卡av在线| 欧美理论片在线播放| 国产精品不卡视频| 午夜一区二区三视频在线观看| 色哟哟在线观看| 99久久亚洲一区二区三区青草| 97超碰在线播放| av官网在线观看| 国产主播一区二区| 91香蕉国产在线观看| 国产精品久久久久久久成人午夜| 日本亚洲免费观看| 国产激情视频一区| 国产精品传媒在线观看| 日韩影院在线观看| 国产精品久久久久久一区二区| 久久久久久少妇| 久久国产99| 国产精品老牛影院在线观看| 中文字幕欧美人妻精品| 免费不卡在线观看| 91人成网站www| 国产黄a三级三级三级| 国产成人免费视频网站高清观看视频| 91亚洲人电影| 亚洲黄色在线免费观看| 成人高清在线视频| 久久国产精品久久| 国产高清美女一级毛片久久| 欧美韩国一区二区| 国产高潮呻吟久久久| 在线不卡日本v二区707| 午夜电影一区二区三区| www.com毛片| 精品日本视频| 欧美一区二区大片| 毛茸茸free性熟hd| 免费短视频成人日韩| 日日摸夜夜添一区| 久久免费视频精品| 在线亚洲免费| 国产精品一区二区性色av| 国产aⅴ爽av久久久久成人| 粉嫩蜜臀av国产精品网站| 久久国产精品一区二区三区| 国产视频第一页在线观看| 日韩一区在线看| 日本a在线免费观看| 日韩性xxx| 91麻豆精品国产91| 野花社区视频在线观看| 久久综合电影| 久久久久久久久电影| 欧美在线视频精品| 成人午夜视频免费看| 日本一区免费观看| av超碰免费在线| 色国产精品一区在线观看| 婷婷激情小说网| 久草成人在线| 欧美日本高清一区| 糖心vlog精品一区二区| 国产馆精品极品| 日韩精品国内| 久久亚洲导航| 欧美午夜不卡视频| 污污内射在线观看一区二区少妇| 日韩成人精品一区| 91精品国产91久久久久久不卡| 一卡二卡三卡在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 一区二区三区四区免费观看| 欧美18—19sex性hd| 日韩一级成人av| 亚洲ⅴ国产v天堂a无码二区| 亚洲精品三级| 18成人在线| 91女主播在线观看| 欧美午夜丰满在线18影院| 手机看片国产精品| 成人看的视频| 欧美性一区二区三区| 亚洲第一第二区| 1区2区3区国产精品| 欧美激情国产精品日韩| 精品国产一区二区三区成人影院| 久久精品2019中文字幕| 成人黄色片在线观看| 99麻豆久久久国产精品免费| 日韩黄色短视频| 日韩免费一级| 久久天天躁狠狠躁夜夜av| 国产美女www爽爽爽| 久久伊人蜜桃av一区二区| 精品久久久久久无码中文野结衣| 日韩成人在线看| 久热精品视频在线免费观看| 一卡二卡三卡在线| 中文一区二区完整视频在线观看| 欧美私人情侣网站| 亚洲精品aaaaa| 97人人做人人爱| 人妻一区二区三区| 亚洲成a人片在线观看中文| 国产亚洲色婷婷久久| 一区二区三区四区在线观看国产日韩| 国产在线观看精品| 麻豆传媒视频在线| 91精品中文字幕一区二区三区| 肉色超薄丝袜脚交69xx图片| 久久99精品久久久久| 在线综合视频网站| 91精品国产一区二区在线观看| www.日韩免费| aaaa一级片| 亚洲永久精品国产| 亚洲精品激情视频| 一区二区三区精品视频在线观看| 成人av男人的天堂| 69av成人| 亚洲最新av在线| 亚洲图片中文字幕| 成人免费小视频| 中文字幕制服丝袜| 一本久久综合| 日产精品一线二线三线芒果| av免费在线一区| 精品国产一区久久久| 国产美女免费看| 一区av在线播放| 国产熟女高潮一区二区三区 | 中文字幕日本精品| 国产精品久久久久久在线| 亚洲精品高清视频在线观看| 中国特级黄色大片| 丝袜美腿亚洲一区二区图片| 在线免费观看成人网| 盗摄牛牛av影视一区二区| 青青草一区二区| 午夜免费福利在线观看| 精品欧美乱码久久久久久1区2区| 你懂的国产视频| 亚洲国产高清不卡| 91亚洲一线产区二线产区| 国产日韩亚洲| 天天爱天天做天天操| 久久99精品国产自在现线| 国产精品啪视频| 国内小视频在线看| 伊人久久久久久久久久久久久| 国产人妖一区二区| 欧美日韩亚洲一区二区| 欧美特黄一级片| 久久亚洲捆绑美女| 国产男女无遮挡猛进猛出| 国产精品入口| 欧美性受xxxx黑人猛交88| 伊人久久大香线蕉综合网蜜芽| 成人深夜直播免费观看| 中文字幕资源网在线观看免费 | 亚洲自拍三区| 欧美日韩一区二区三区四区不卡| 国产欧美日韩精品专区| а√天堂中文资源在线bt| 色偷偷噜噜噜亚洲男人| 亚洲av片在线观看| 欧美成va人片在线观看| 最好看的日本字幕mv视频大全 | 国产一二三区在线播放| 日韩精品2区| 久久99国产精品| 九九九九九九精品任你躁| 日韩美女毛茸茸| 成人高潮aa毛片免费| 日韩网站免费观看| 欧美白人做受xxxx视频| 精品国产免费人成电影在线观看四季| 最新在线中文字幕| 欧美性色xo影院| 日韩精品――中文字幕| 成人免费在线观看入口| x88av在线| 久久只精品国产| 久久久午夜精品福利内容| 国产剧情一区二区| 亚洲一区日韩精品| 青青草国产成人av片免费| 日韩欧美精品在线观看视频| 影音先锋中文字幕一区| 国产日韩第一页| 91精品蜜臀一区二区三区在线| 亚洲五月六月| 欧美在线观看视频一区| 日本不卡一区二区三区在线观看| 精品三级av在线导航| 91精品免费| 色播一区二区| 999日本视频| 亚洲精品a区| 成人资源av| 中文字幕视频精品一区二区三区| 亚洲伊人久久大香线蕉av| 粉嫩一区二区三区在线观看| 成人激情春色网| 四虎影视国产精品| 成人午夜在线观看| 国产一区二区三区免费观看在线 | www,av在线| 国产在线不卡一区| 中文字幕乱妇无码av在线| 国产乱对白刺激视频不卡| 波多野结衣网页| 丁香另类激情小说| 美女流白浆视频| 成人福利电影精品一区二区在线观看| 日本一级大毛片a一| 成人免费三级在线| www.自拍偷拍| 中文字幕第一区二区| 免费成人美女女在线观看| 亚洲天堂网中文字| 免费看一级一片| 婷婷亚洲久悠悠色悠在线播放| 国产成人综合欧美精品久久| 欧美无砖专区一中文字| 国产欧美日韩综合精品一区二区三区| 欧美一区二区人人喊爽| 国产 欧美 精品| 亚洲欧美一区二区三区久久| av网站无病毒在线| 久久天天躁狠狠躁夜夜躁2014| 欧美黑人猛交的在线视频| 97在线视频免费看| 成人免费av电影| 91牛牛免费视频| 美女一区2区| 亚洲成人蜜桃| 欧美三级特黄| 欧美日韩第二页| 国产一区中文字幕| 国产精品九九视频| 国产精品视频一二| 久久久久久久福利| 一本色道久久综合狠狠躁的推荐| 一级黄色录像大片| 亚洲国产成人在线播放| 国产在线视频网址| 欧美麻豆久久久久久中文| 性孕妇free特大另类| 成人免费福利视频| 香蕉久久夜色精品国产更新时间| 亚洲高清视频一区二区| 欧美日韩亚洲一区二区三区在线| 国模杨依粉嫩蝴蝶150p| 国产在线精品一区在线观看麻豆| 久久国产精品影院| 亚洲人成电影网站色mp4| 国产成人在线免费视频| 欧美疯狂做受xxxx富婆| 亚洲欧美自偷自拍| 美女精品久久久| 欧美一区二区三区粗大| 快she精品国产999| 欧美一区二区三区影院| 国产网红主播福利一区二区| 国产女片a归国片aa| 色狠狠色噜噜噜综合网| 黄色片一区二区三区| 中文字幕欧美精品日韩中文字幕| 丁香花高清在线观看完整版| 国产精品亚洲自拍| 日韩精品免费一区二区夜夜嗨| 国产精品一区在线免费观看| 日韩高清在线一区| 一级少妇精品久久久久久久| 最新国产精品久久精品| 高潮毛片又色又爽免费| 亚洲第一av网站| 最近中文字幕免费mv2018在线| 国产精品久久久久久av福利| 日韩av中文字幕一区| 四虎4hu永久免费入口| 裸体一区二区三区| 人人人妻人人澡人人爽欧美一区| 亚洲午夜一二三区视频| 国产视频一区二区三| 中文一区二区视频| 韩国精品主播一区二区在线观看 | 午夜视频你懂的| xfplay精品久久| 日本网站在线免费观看| 欧美一级一级性生活免费录像| 欧美日韩欧美| 国产精品久久视频| 丝袜久久网站| 国产精品333| 成人激情小说乱人伦| 日本一区二区免费在线观看| 欧美不卡在线视频| 后进极品白嫩翘臀在线播放| 99伊人久久| 狠狠噜噜久久| 美女扒开腿免费视频| 亚洲一区二区三区四区的| 精品人妻一区二区三区蜜桃| 久久97精品久久久久久久不卡 | 欧美一级欧美三级在线观看| 黄色网址视频在线观看| 成人免费看片视频| 欧美1区2区3区| www.四虎在线| 精品久久久久人成| 黄色视屏网站在线免费观看| 国产精品吹潮在线观看| 欧美电影一区| 亚洲精品中文字幕乱码无线| 一区二区在线观看不卡| 丰满岳乱妇国产精品一区| 欧美精品videosex极品1| 老司机精品视频在线播放| 春日野结衣av| 国产欧美日韩三区| 一级黄色大片免费观看| 久久久精品影院| 成人精品毛片| 欧美黄色免费影院| 中文字幕欧美国产| 国产特黄一级片| 国语自产精品视频在线看抢先版图片 | 日本xxx在线播放| 欧美偷拍一区二区| a天堂中文在线官网在线| 国产亚洲欧美另类一区二区三区| 国产精品夜夜夜| 日本精品久久久久中文| 欧美一区二区三区性视频| 98色花堂精品视频在线观看| 免费观看国产成人| 国产综合久久久久久鬼色| 精品一级少妇久久久久久久| 亚洲人成在线观看网站高清| 四虎国产精品免费久久| 国产婷婷一区二区三区| 国产日产欧美一区二区视频| 国产伦一区二区| 88国产精品欧美一区二区三区| 日韩精品2区| 欧美熟妇精品一区二区蜜桃视频| 91久久精品一区二区二区| 在线中文免费视频| 免费成人看片网址| 国产精品一区在线观看你懂的| 日韩av大片在线观看| 爽爽爽爽爽爽爽成人免费观看| 久久视频社区| 久久黄色免费看| 亚洲一二三区视频在线观看| 成年人在线观看网站| 国产精品果冻传媒潘| 美国十次了思思久久精品导航| 国产小视频在线看|