MySQL库表主键ID耗尽了,如何处理?
大家好,我是后端研究所大白所长!
今天和大家聊一个有趣的话题:
假如MySQL建表时主键ID是int32且自增的,谁也没想到业务发展这么快,今天忽然发现ID耗尽了,各种报警要炸锅了,请求作为后端owner的你该如何处理?
话不多说,看看我的好兄弟小黑是如何处理的,开车! 1方案一:怒刷简历 提桶跑路
这个方案很简单,怎么处理我不管,提桶跑路!
OS-1:试想大家满怀信心地加入到了一家公司,等待你的却是屎山一样的代码。
OS-2:这个项目的红利已经被前辈们吃完了,剩下的就是需要人来维护,哦,没错,没有人会在意谁在维护的,因为已经没人关注喽。
OS-3:本以为要来指点江山,谁知道却是不停填坑,唉,搞了半天还是搞土木工程的!
内心波澜起伏,终于小黑决定关上手机、下班跑路,回家改起了简历,决定提桶跑路。
画外音 :小黑这种做法是不可取的,毕竟跳槽很多时候就是从一个坑到另外一个坑,还是要正视问题,努力解决才行嘛,最后我们祝福小黑。 2方案二:救命的空洞
报警还在呼呼发,小黑的脸更黑了,内心慌得一批,旁边的同事大刘见状说:"小黑别慌,先及时止损,再寻找彻底解决的方案"。
听听,听听,大刘一出手就是老架构师的味道。
大刘深知光扯方法论有个屁用,拿出解决方案才是硬道理。
大刘说:"小黑你看下这个表的ID是从1开始的吗?在建表初期有没有空洞之类的,先让数据强制写到前面空洞区域,缓解一下线上危机,再找DBA把ID的字段改成bigINT。"
小黑迅速get到大刘的意思,迅速看了一下,还真有100w的空洞啊!
小黑的泪水夺目而出,恨不得抱着大刘说:"恩人啊大刘。"
说干就干,小黑花了10分钟改完走了快速上线,终于报警慢慢降下来了,100w的空洞够用几天了,小黑的脸也没这么黑了。
接着小黑找到了DBA老张,和老张说明了情况于是开始了在线修改字段类型,由于表很大,这个操作非常耗时,好在空洞可以撑一段时间。
终于在晚上6点表字段改成了bigint,从32位到64位再也不用担心会耗尽了。
小黑拉上大刘和老张来到了肉串汪,好好谢谢这两位大神。
画外音 :快谢谢身边那些每次都提出切实可行方案的同事吧,要成为老架构师的路还长着呢,小黑加油! 3方案三:忍痛割爱
报警就像龙卷风一样吹得小黑头晕目眩,小黑想到了图灵、想到了冯诺依曼、想到了马云、想到了马化腾...
一番思想斗争之后,小黑决定迎难而上,干!
旁边大刘凑过来说:"小黑别慌,这个是已知问题,可能是之前的人没交接清楚,挖了这个坑"。
小黑看着大刘说:"大刘有啥好办法吗?"
大刘道:"大原则是优先止损,则深度解决,印象中ID是从1开始的没有空洞,但是早期的数据应该不用了,你可以回收一波,腾出空间让新数据写到旧ID上,业务影响有限可以及时止损。"
小黑get了大刘的意思,好在前几天刚写了个删库脚本,没想到派上用场了,小黑改了一点拿到线上环境回收了100w个ID,但是这100w个ID并不是连续的。
小黑想了一下,决定加个中间层,把这100w个ID先存储到了redis中,线上服务先读redis拿到可用的ID再进行写库,从而缓解了问题。
快速修复上线后,报警逐渐降下来了,于是小黑抓紧找到了DBA老张来修改ID字段类型。
终于在晚上6点表字段改成了bigint,从32位到64位再也不用担心会耗尽了。
小黑拉上大刘和老张来到了木屋烧烤,好好谢谢这两位大神。
画外音 :问题总会有解决方案的,平时注意积累,关键时刻可以提供解决问题的速度,平时多流汗,战时少流泪。 4小结
对于这个问题,网上很多相关的文章,基本上都是再说改成bigint,这种说法不能说错,但是不够及时雨。
试想32位都写满了的大表,改字段要消耗多久?这期间的新写数据怎么办?并不能及时止损,P0事故是跑不了了。
除了文中的几种方案,结合具体的场景还会有其他做法:比如新建一张表,双读&单写新表,总之方法不止一种, 结合场景&及时止损才是真正的好方案 。
就写这么多吧!
熊市之年,这些美股板块最赚钱在美国通胀飙升和经济增长下滑撼动美国企业和华尔街的这一年里,股市的一些角落为投资者提供了藏身之所。在2022年大部分时间里起作用的基本上是一种长期通胀交易押注美元和美国国债收益率将
中基协再开4张罚单,涉浔兴股份卖壳掮客,内幕交易赚7万元华夏时报(www。chinatimes。net。cn)记者宋婕陈锋北京报道今年以来私募行业整体监管力度加强,中基协继11月对违规私募及从业人员连续出具了近30张罚单,近日又连开4张
十四五期间将建设约30个文化产业和旅游产业融合发展示范区记者12月23日从文化和旅游部获悉,文化和旅游部自然资源部住房和城乡建设部近日联合印发关于开展国家文化产业和旅游产业融合发展示范区建设工作的通知。根据通知,十四五期间,将建设30个
致全体股民与基民的一封公开致歉信鹰眼视角深度硬核智享财经尊敬的2亿股民亲爱的7亿基民不好意思,我必须深刻地做出检讨,向2亿股民与7亿基民致以诚挚地歉意!首先,我必须承认,是我拖累了大家,让所有投资者亏钱了受到牵连
2022年最新美国电影TOP10排行榜,每部好莱坞大片都值得一看头条创作挑战赛2021年,好莱坞电影风光不再,票房爆款数量锐减,被引进在中国内地上映的大片也明显减少,但相比2022年还是有所起色,全球电影市场逐渐回暖。好莱坞影视行业已经全面复苏
香港中华煤气荣获五项环境社会及管治大奖12月21日,香港中华煤气(中华煤气)荣获电视广播有限公司(TVB)颁发的五项环境社会及管治大奖,分别为ESG年度卓越大奖ESG最佳表现大奖ESG最佳报告大奖ESG项目创新大奖,以
踔力奋发勇毅前行以文塑旅以旅彰文全力推进满洲里冬季边境旅为进一步丰富冬季旅游产品文化内涵,激发市场活力,创新冬季文化旅游业态,展示满洲里北疆特色文化旅游资源,深入推进文旅融合发展,提升满洲里冬季旅游吸引力,满洲里市文体旅游广电局于12月
浣江五泄品西施文化享诗路风华西施越溪女,出自苎萝山。2000多年里,西施是诸暨人永远说不厌的话题,她自我牺牲的家国精神,凝聚出集真善美于一体的高尚形象,成为从古至今美丽女性的代名词,成为诸暨最深的烙印最靓的名
阿拉克湖和谐之美阿拉克湖国家湿地公园位于海西蒙古族藏族自治州都兰县南部,具有典型的高原亚寒带季风半干旱气候,总面积16799。21公顷,是海西州最大的淡水湖,储水量4。9亿立方米。园区独特的地理环
制造业立市,广州继续东进,增城迎来高光时刻在2000年,广州城市建设总体战略概念规划纲要提出了八字诀东进西联,南拓北优,才有了世界级的珠江新城黄埔增城的大工业格局近些年广州聚焦于第二产业谋划,制造业立市,从现有的数据或十四
中国空姐站上世界杯颁奖台,优雅微笑,见证梅西捧杯!私照曝光卡塔尔世界杯决赛颁奖仪式上,将奖牌递上颁奖台的,是一群来自卡塔尔航空的漂亮空姐,她们一个个身姿挺拔,气质优雅,而在这众美丽空姐中,有一张中国面孔让人眼前一亮,她站在卡塔尔国王的身后