1
Jooooooooo 2021-07-26 17:41:27 +08:00 1
bigint 都超了再改造呗, 一般不考虑这种问题
其实是可以事先简单计算大概到了什么时候会超出 long 这种长度 (比如是 20 年后, 那现在就去考虑明显是过度设计 通用性和实现难读肯定是需要取舍的 |
2
leafre 2021-07-26 17:51:41 +08:00 1
数据量乳齿大,就别往 MySQL 里塞了
|
3
Maboroshii 2021-07-26 17:52:27 +08:00
提高上限!
|
4
xiangyuecn 2021-07-26 17:55:50 +08:00 1
年薪没一个亿 就不要耽误双方时间了🐶
|
5
yor1g 2021-07-26 18:09:59 +08:00
bigint 不是 100 年都跑不满么
|
6
lakehylia 2021-07-26 18:16:25 +08:00
扩容改造呗
|
7
soy 2021-07-26 18:16:39 +08:00
Key size 都有 2^63 * 8 = 73EB 了。这么大的数据量肯定不是 MySQL 该干的活了。BigTable 搞起!
|
8
dqzcwxb 2021-07-26 18:19:06 +08:00 55
bigint 最大数值 9223372036854775807,每秒 1 亿条数据量新增需要跑 2924 年
这不是造火箭这么简单,这是奔着星际航行去,值得尊敬! |
9
sytnishizuiai 2021-07-26 18:26:21 +08:00
@dqzcwxb 牛逼
|
10
luckyrayyy 2021-07-26 18:29:25 +08:00
他是想问分库分表吗
|
13
iceheart 2021-07-26 19:38:24 +08:00 via Android 1
这问题,当你想解决方案的时候你就错了
|
14
kekxv 2021-07-26 19:45:47 +08:00 via iPhone 7
使用两个 bigint 联合约束作为主键,他要是还说超了,那可以回他:我感觉我现在还不配做那么大的项目🐶
|
15
hst001 2021-07-26 21:09:33 +08:00 via Android
能把 bigint 用满的公司可能还是头一次见
|
16
0ZXYDDu796nVCFxq 2021-07-26 22:40:56 +08:00 via Android
哈哈哈,上次有个兄弟问怎么把 C(400,1000)的所有组合数在 10 秒内打印出来
数据量比这个还大 n 倍 |
17
akira 2021-07-26 23:11:21 +08:00 1
考察的重点应该不是 bigint 了啦 ,不要扣字眼去了
|
18
hushao 2021-07-26 23:40:50 +08:00 1
@goodboy95 抖个机灵,你应该先弱弱的问下他,贵司主键 ID 是不是从 bigint 上限-1 开始自增的能用完[逃~]
|
19
yhxx 2021-07-26 23:53:09 +08:00
第一反应是淘宝订单号那个溢出问题
然后,bigint ??? 他是要用来存 ipv6 的吗? |
20
nuistzhou 2021-07-27 00:18:43 +08:00 via iPhone 1
你随口一问是不是会超过 bigint 上限,估摸着他也没算,随口一答罢了。你应该直接跟他算账的,哈哈
|
21
GeruzoniAnsasu 2021-07-27 01:17:40 +08:00 2
经典面试题了,以这个问题开头的就是想问分库分表,估计面试官也是从别人那学来的,但光记了个问题自己也没搞透。
面试者问 “是不是连 bigint 都会超过上限” ,面试官应该答 “你可以先考虑考虑”,然后继续正常问题流,他这「是」把自己也绕进去了,如果强势一点应该立即反问 “能举个这样的业务场景例子” 才对 |
22
x7DnVcd9bA706oWp 2021-07-27 08:46:41 +08:00 1
直接反问,能举个这样的场景吗?贵公司是否有?一般肯定会回答有(如果没有那考虑个 P 啊),然后直接撂下一句话别装 x 了,来之前我就了解了贵公司....
|
23
starcraft 2021-07-27 09:18:48 +08:00 1
让他说公司是不是有这个业务场景,自己入职是不是要处理这些。说不出来,就甩他个屁股走人,真是浪费时间。
|