精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

夜夜嗨aⅴ一区二区三区| 日韩一级视频在线观看| 一色桃子av在线| 国产91富婆露脸刺激对白| 韩国三级电影久久久久久| 大桥未久恸哭の女教师| 精品3atv在线视频| 亚洲人成人一区二区在线观看| av成人综合网| 嫩草影院一区二区三区| 欧美a级一区| 亚洲欧美精品一区| 中文字幕一区二区在线观看视频| a毛片不卡免费看片| 日本一区二区免费在线| 91九色在线观看| 五月天婷婷导航| 欧美极品一区二区三区| 国产亚洲欧洲黄色| 动漫美女无遮挡免费| 第四色男人最爱上成人网| 亚洲黄色免费网站| 性欧美videosex高清少妇| 亚洲国产精品久久久久久久 | 国产精品电影院| 国产精品我不卡| 91久久精品国产91性色69| 在线一区免费观看| 久久久久久69| 国产精品夜夜夜爽阿娇| 伊人精品一区| 亚洲国产成人爱av在线播放| www.51色.com| 国产欧美在线观看免费| 日韩欧美一区二区在线| 真人抽搐一进一出视频| av中文字幕在线播放| 国产日本欧洲亚洲| 欧美裸体网站| 少妇高潮一区二区三区69| 国产麻豆一精品一av一免费| 91精品国产自产在线老师啪 | 777久久久精品| 亚洲精品中文字幕无码蜜桃| 999av小视频在线| 亚洲最大成人综合| 日韩一级片一区二区| 香蕉视频在线免费看| 国产日韩欧美一区二区三区乱码 | 朝桐光av一区二区三区| 97一区二区国产好的精华液| 91精品国产91久久久久久一区二区| 亚洲一二三区av| 日本高清不卡一区二区三区视频 | www.精品在线| 成人精品动漫| 欧美日韩午夜影院| 亚洲免费999| 亚洲精品tv| 欧美精品精品一区| 亚洲一二三不卡| 国产午夜亚洲精品一级在线| 欧美日本一区二区三区| 中文字幕一区二区在线观看视频 | 欧美一区二区人人喊爽| 亚洲天堂av一区二区三区| crdy在线观看欧美| 日韩一级高清毛片| 国产人妖在线观看| 久久视频在线观看| 亚洲另类图片色| 亚洲av毛片基地| 香港欧美日韩三级黄色一级电影网站| 久久精品国产一区二区三区| 欧美日韩一级大片| 亚洲三级毛片| 国产精品jizz在线观看麻豆| 伊人久久成人网| 国产精品一品二品| 国产视频一区二区三区四区| 水莓100国产免费av在线播放| 久久一区二区视频| 亚洲欧洲精品一区二区三区波多野1战4| av在线1区2区| 一区2区3区在线看| 免费观看精品视频| 色综合.com| 亚洲第一福利网站| 少妇av片在线观看| 欧美精选一区| 国产aⅴ夜夜欢一区二区三区 | 免费在线观看精品| 91入口在线观看| 日韩电影网址| 自拍av一区二区三区| 日韩xxxx视频| 久久夜夜久久| 欧美精品一区二区高清在线观看| 瑟瑟视频在线观看| 欧美成人日韩| 国产999在线| 精品国产黄色片| 国产午夜精品久久久久久免费视| 喜爱夜蒲2在线| 亚洲人免费短视频| 精品久久久久久久久久久久包黑料 | 日本毛片在线免费观看| 国产精品亚洲成在人线| 亚洲国产精品va在线看黑人动漫| 中文字幕求饶的少妇| 亚洲黄色精品| 亚洲a在线观看| 免费毛片在线| 五月激情六月综合| 成人免费播放视频| 成人写真视频| 热re91久久精品国99热蜜臀| 国产情侣激情自拍| 亚洲国产成人私人影院tom| 国产又粗又猛又爽又黄的网站 | 欧美综合色免费| 中文字幕在线国产| 久久久国产精品| 国产精品久久久久aaaa九色| 日本免费不卡视频| 亚洲女与黑人做爰| 手机看片一级片| 久久最新网址| 欧洲亚洲免费在线| 天天操天天射天天舔| 亚洲欧美一区二区久久| 手机在线成人免费视频| 免费看成人吃奶视频在线| 久久久久这里只有精品| 99热这里只有精品5| 日韩一区在线免费观看| 手机在线成人免费视频| 成人亚洲一区二区| 国产精品成熟老女人| 深夜福利在线看| 欧美日韩免费在线| 在线免费观看污视频| 亚洲经典视频在线观看| 国产乱子伦精品| zzzwww在线看片免费| 亚洲精品在线网站| 日本亚洲欧美在线| 成人亚洲精品久久久久软件| 日本免费成人网| 欧美h版在线观看| 欧美老少做受xxxx高潮| 99视频国产精品免费观看a| 亚洲欧洲一区二区在线播放| 亚洲国产成人va在线观看麻豆| 日韩欧美午夜| 国产一区二区在线免费| 黄色免费在线网站| 欧美一区二区三区视频在线观看| www日韩在线| 国产精品一二三四| 人妻激情另类乱人伦人妻| 懂色av一区二区| 午夜精品久久久久久久男人的天堂| 亚洲福利在线观看视频| 精品久久久久久久久久ntr影视 | 欧美人妖视频| 日韩美女激情视频| www黄在线观看| 4hu四虎永久在线影院成人| 欧美丰满熟妇bbbbbb| 国产精品乡下勾搭老头1| 久久综合亚洲精品| 风间由美一区二区av101| 国产91精品不卡视频| 欧美日本网站| 欧美一区二区三区视频免费| 国产无遮挡裸体免费视频| 91视频免费观看| 小泽玛利亚视频在线观看| 中文字幕日韩欧美精品高清在线| 国产富婆一区二区三区| 中文在线8资源库| 精品久久国产精品| 日本精品999| 欧美日韩一区精品| 久久午夜无码鲁丝片午夜精品| 99久久亚洲一区二区三区青草| 亚洲色图久久久| 欧美.www| 日韩av高清| 99国产精品久久一区二区三区| 青青久久aⅴ北条麻妃| 日本中文字幕伦在线观看| 亚洲第一色中文字幕| 免费在线不卡av| 亚洲福利视频导航| 日韩一级片在线免费观看| 成人在线视频首页| 久久婷婷综合色| 亚洲一区二区伦理| 日韩视频在线观看视频| 欧美女优在线视频| 不卡视频一区二区| 国产精品第一国产精品| 久久久国产精品亚洲一区| 久热av在线| 精品成人一区二区三区四区| 一本一道精品欧美中文字幕| 婷婷综合五月天| 中文字幕人妻一区二| 久久久欧美精品sm网站| 制服丝袜在线第一页| 久久精品国产亚洲a| 日本毛片在线免费观看| 亚洲午夜一级| 一级一片免费播放| 红桃成人av在线播放| 国产亚洲欧美一区二区 | 乱人伦精品视频在线观看| 成人在线免费高清视频| 91麻豆国产自产在线观看亚洲| 久久久久天天天天| 97久久精品| **亚洲第一综合导航网站| 九九九精品视频| 国产成人高清激情视频在线观看| 国产激情视频在线看| 欧美第一黄色网| 1区2区在线观看| 日韩一区二区欧美| 嫩草精品影院| 亚洲精品资源在线| 三级国产在线观看| 日韩成人小视频| 视频污在线观看| 精品少妇一区二区三区免费观看 | www.91精品| 国产欧美精品xxxx另类| 成人精品国产亚洲| 国产精品678| 台湾佬中文娱乐久久久| 欧美一区二区三区……| 自拍网站在线观看| 青青草成人在线| 你懂得影院夜精品a| 日韩免费在线免费观看| 性欧美gay| 国产精品久久电影观看| 成人毛片免费| 91精品在线国产| 欧洲大片精品免费永久看nba| 91精品啪aⅴ在线观看国产| 亚洲伊人精品酒店| 7777精品伊久久久大香线蕉语言| 精品中文字幕一区二区三区四区| 91精品在线国产| 最新国产一区二区| 好看的日韩精品| 欧美禁忌电影| 一区二区精品免费视频| 亚洲九九视频| 成人免费在线网| 亚洲免费一区二区| 一级特黄性色生活片| 美女一区二区久久| 性色av浪潮av| 91在线国内视频| 91无套直看片红桃在线观看| 亚洲色图清纯唯美| 久久精品欧美一区二区| 欧美三级欧美成人高清www| 婷婷激情五月综合| 4438x成人网最大色成网站| www.色呦呦| 亚洲欧美成人在线| 免费观看在线黄色网| 欧美激情aaaa| 欧美xxx视频| 91久久精品美女高潮| 国产精品中文字幕制服诱惑| 免费看成人片| 91精品国产自产拍在线观看蜜| 国产精品久久久久久久久电影网| 亚洲专区免费| www.污网站| 99精品桃花视频在线观看| 精品手机在线视频| 亚洲高清三级视频| 一区二区视频免费| 亚洲国产精品久久久久秋霞不卡 | 国产精品毛片久久久久久久| 久久久久久久久久久久国产| 色欲综合视频天天天| av中文字幕播放| 亚洲欧美精品suv| 久久免费电影| 国产精品九九久久久久久久| av不卡一区| 伊人久久大香线蕉午夜av| 99亚洲视频| 一级淫片在线观看| 久久一日本道色综合| 久久久久久久久久久97| 欧美日韩成人综合天天影院| 婷婷综合激情网| 久久亚洲精品一区二区| 成人啊v在线| 狠狠干一区二区| 欧美韩日精品| 天堂av2020| 国产日韩欧美不卡在线| 亚洲国产综合久久| 欧美一区二区在线视频| 国产女主播在线直播| 国模私拍一区二区三区| 精品视频91| 亚洲无玛一区| 日韩va欧美va亚洲va久久| 久久午夜夜伦鲁鲁片| 亚洲综合偷拍欧美一区色| 国产精品视频一二区| 这里只有精品视频在线| 澳门成人av网| 国外成人免费视频| 国模 一区 二区 三区| 人妻少妇偷人精品久久久任期| 中文字幕+乱码+中文字幕一区| 麻豆成人免费视频| 亚洲黄色有码视频| 7777kkk亚洲综合欧美网站| 999国内精品视频在线| 香蕉综合视频| 九九九九九九九九| 亚洲人成小说网站色在线| 一二三四区视频| 日韩中文在线观看| 免费一区二区三区四区| 亚洲不卡一卡2卡三卡4卡5卡精品| 在线日韩欧美| 国产xxxxxxxxx| 婷婷六月综合网| 五月婷婷六月激情| 欧美又大又粗又长| 日韩欧美ww| 50路60路老熟妇啪啪| 国产午夜精品一区二区三区视频| 无码人妻丰满熟妇区bbbbxxxx | 欧美四级电影在线观看| 国产女人在线观看| 国产精品免费一区豆花| 成人在线丰满少妇av| 久久久精品高清| 亚洲人成小说网站色在线| 亚洲AV无码一区二区三区少妇| 色综合久综合久久综合久鬼88| 一区二区视频| 浮妇高潮喷白浆视频| 2023国产精品自拍| 69av视频在线观看| 色99之美女主播在线视频| 免费一级欧美片在线观看网站| 欧美这里只有精品| 久久影院电视剧免费观看| 自拍偷拍精品视频| 久久好看免费视频| xvideos.蜜桃一区二区| 国产又黄又大又粗视频| 中文字幕欧美日韩一区| av网站在线免费看| 性欧美xxxx视频在线观看| 久9久9色综合| 91免费视频污| 婷婷综合五月天| 婷婷成人激情| 国产欧美一区二区三区不卡高清| 国产精品毛片在线| a级黄色免费视频| 精品国一区二区三区| 欧美大片免费高清观看| 亚洲午夜精品一区二区三区| 国产精品白丝av| 黄色片中文字幕| 欧美人与物videos| 久久综合色占| 韩国三级视频在线观看| 在线免费视频一区二区| 四虎亚洲精品| 午夜视频久久久| 风间由美性色一区二区三区| 激情五月婷婷网| 欧美乱大交xxxxx| 不卡在线一区| 999精品免费视频| 欧美日韩成人一区| 交100部在线观看| 国产又爽又黄ai换脸| 97久久精品人人爽人人爽蜜臀| 国产精品久久久久久免费免熟| 亲爱的老师9免费观看全集电视剧| 久久久五月天|