亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 淺談MySQL中的自增主鍵用完了怎么辦

淺談MySQL中的自增主鍵用完了怎么辦

熱門標(biāo)簽:信陽穩(wěn)定外呼系統(tǒng)運(yùn)營商 百度地圖圖標(biāo)標(biāo)注中心 南通自動外呼系統(tǒng)軟件 芒果電話機(jī)器人自動化 廣東人工電話機(jī)器人 申請外呼電話線路 日照旅游地圖標(biāo)注 石家莊電商外呼系統(tǒng) 湖南人工外呼系統(tǒng)多少錢

在面試中,大家應(yīng)該經(jīng)歷過如下場景

面試官:"用過mysql吧,你們是用自增主鍵還是UUID?"   

你:"用的是自增主鍵"    

面試官:"為什么是自增主鍵?"    

你:"因?yàn)椴捎米栽鲋麈I,數(shù)據(jù)在物理結(jié)構(gòu)上是順序存儲,性能最好,blabla…"    

面試官:"那自增主鍵達(dá)到最大值了,用完了怎么辦?"    

你:"what,沒復(fù)習(xí)啊!!"    (然后,你就可以回去等通知了!)

這個(gè)問題是一個(gè)粉絲給我提的,我覺得挺有意(KENG)思(B)!
于是,今天我們就來談一談,這個(gè)自增主鍵用完了該怎么辦!

正文

簡單版

我們先明白一點(diǎn),在mysql中,Int整型的范圍如下

我們以無符號整型為例,存儲范圍為0~4294967295,約43億!我們先說一下,一旦自增id達(dá)到最大值,此時(shí)數(shù)據(jù)繼續(xù)插入是會報(bào)一個(gè)主鍵沖突異常如下所示

//Duplicate entry '4294967295' for key 'PRIMARY'

那解決方法也是很簡單的,將Int類型改為BigInt類型,BigInt的范圍如下

就算你每秒10000條數(shù)據(jù),跑100年,單表的數(shù)據(jù)也才
10000*24*3600*365*100=31536000000000
這數(shù)字距離BigInt的上限還差的遠(yuǎn),因此你將自增ID設(shè)為BigInt類型,你是不用考慮自增ID達(dá)到最大值這個(gè)問題!
然而,如果你在面試中的回答如果是

你:"簡單啊,把自增主鍵的類型改為BigInt類型就好了!"

接下來,面試官可以問你一個(gè)更坑的問題!

面試官:"你在線上怎么修改列的數(shù)據(jù)類型的?"   

你:"what!我還是回等通知吧!"

怎么改

目前業(yè)內(nèi)在線修改表結(jié)構(gòu)的方案,據(jù)我了解,一般有如下三種

方式一:使用mysql5.6+提供的在線修改功能

所謂的mysql自己提供的功能也就是mysql自己原生的語句,例如我們要修改原字段名稱及類型。

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

那么,在mysql5.5這個(gè)版本之前,這是通過臨時(shí)表拷貝的方式實(shí)現(xiàn)的。執(zhí)行ALTER語句后,會新建一個(gè)帶有新結(jié)構(gòu)的臨時(shí)表,將原表數(shù)據(jù)全部拷貝到臨時(shí)表,然后Rename,完成創(chuàng)建操作。這個(gè)方式過程中,原表是可讀的,不可寫。
在5.6+開始,mysql支持在線修改數(shù)據(jù)庫表,在修改表的過程中,對絕大部分操作,原表可讀,也可以寫。
那么,對于修改列的數(shù)據(jù)類型這種操作,原表還能寫么?來來來,特意去官網(wǎng)找了mysql8.0版本的一張圖

如圖所示,對于修改數(shù)據(jù)類型這種操作,是不支持并發(fā)的DML操作!也就是說,如果你直接使用ALTER這樣的語句在線修改表數(shù)據(jù)結(jié)構(gòu),會導(dǎo)致這張表無法進(jìn)行更新類操作(DELETEUPDATEDELETE)。
因此,直接ALTER是不行滴!

那我們只能用方式二或者方式三

方式二:借助第三方工具

業(yè)內(nèi)有一些第三方工具可以支持在線修改表結(jié)構(gòu),使用這些第三發(fā)工具,能夠讓你在執(zhí)行ALTER操作的時(shí)候,表不會阻塞!比較出名的有兩個(gè)

  • pt-online-schema-change,簡稱pt-osc
  • GitHub正式宣布以開源的方式發(fā)布的工具,名為gh-ost

pt-osc為例,它的原理如下

1、創(chuàng)建一個(gè)新的表,表結(jié)構(gòu)為修改后的數(shù)據(jù)表,用于從源數(shù)據(jù)表向新表中導(dǎo)入數(shù)據(jù)。

2、創(chuàng)建觸發(fā)器,用于記錄從拷貝數(shù)據(jù)開始之后,對源數(shù)據(jù)表繼續(xù)進(jìn)行數(shù)據(jù)修改的操作記錄下來,用于數(shù)據(jù)拷貝結(jié)束后,執(zhí)行這些操作,保證數(shù)據(jù)不會丟失。

3、拷貝數(shù)據(jù),從源數(shù)據(jù)表中拷貝數(shù)據(jù)到新表中。

4、rename源數(shù)據(jù)表為old表,把新表rename為源表名,并將old表刪除。

5、刪除觸發(fā)器。

然而這兩個(gè)有意(KENG)思(B)的工具,居然。。。居然。。。唉!如果你的表里有觸發(fā)器和外鍵,這兩個(gè)工具是不行滴!
如果真碰上了數(shù)據(jù)庫里有觸發(fā)器和外鍵,只能硬杠了,請看方式三
方式三:改從庫表結(jié)構(gòu),然后主從切換
此法極其麻煩,需要專業(yè)水平的選手進(jìn)行操作。因?yàn)槲覀兊膍ysql架構(gòu)一般是讀寫分離架構(gòu),從機(jī)是用來讀的。我們直接在從庫上進(jìn)行表結(jié)構(gòu)修改,不會阻塞從庫的讀操作。改完之后,進(jìn)行主從切換即可。唯一需要注意的是,主從切換過程中可能會有數(shù)據(jù)丟失的情況!

高深版

其實(shí)答完上面的問題后,這篇文章差不多完了。但是,還記得我在開頭說的么。這是一個(gè)很有意(KENG)思(B)的問題,為什么呢?
假設(shè)啊,你的表里的自增字段為有符號的Int類型的,也就是說,你的字段范圍為-2147483648到2147483648。
一切又那么剛好,你的自增ID是從0開始的,也就是說,現(xiàn)在你的可以用的范圍為0~2147483648。
我們明確一點(diǎn),表中真實(shí)的數(shù)據(jù)ID,肯定會出現(xiàn)一些意外,ID不一定是連續(xù)的。例如,有如下情形的出現(xiàn)

CREATE TABLE `t` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 PRIMARY KEY (`id`),
) EN

執(zhí)行下列SQL

insert into t values(null);
// 插入的行是 (1)
begin;
insert into t values(null);
rolllack;
insert into t values(null);
// 插入的行是 (3)

因此,表中的真實(shí)id必然會出現(xiàn)斷續(xù)的情況。
好,那這會你的自增主鍵id的數(shù)據(jù)范圍為0~2147483648,也就是單表21億條數(shù)據(jù)!考慮id會出現(xiàn)斷續(xù),真實(shí)數(shù)據(jù)頂多18億條吧。
老哥,都單表18億條了,還不分庫分表?你一旦分庫分表了,就不能依賴于每個(gè)表的自增ID來全局唯一標(biāo)識這些數(shù)據(jù)了。此時(shí),我們就需要提供一 個(gè)全局唯一的ID號生成策略來支持分庫分表的環(huán)境。

因此在實(shí)際中,你根本等不到自增主鍵用完到情形!因此,專業(yè)版回答如下:

面試官:"那自增主鍵達(dá)到最大值了,用完了怎么辦?"   

你:"這問題沒遇到過,因?yàn)樽栽鲋麈I我們用int類型,一般達(dá)不到最大值,我們就分庫分表了,所以不曾遇見過!"

到此這篇關(guān)于淺談MySQL中的自增主鍵用完了怎么辦的文章就介紹到這了,更多相關(guān)MySQL 自增主鍵用完內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL中的主鍵以及設(shè)置其自增的用法教程
  • mysql修改自增長主鍵int類型為char類型示例
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • MySQL8新特性:自增主鍵的持久化詳解
  • mysql非主鍵自增長用法實(shí)例分析
  • Mysql自增主鍵id不是以此逐級遞增的處理
  • 詳解MySQL自增主鍵的實(shí)現(xiàn)
  • 為什么mysql自增主鍵不是連續(xù)的

標(biāo)簽:惠州 呼和浩特 牡丹江 公主嶺 沈陽 天津 阿里 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談MySQL中的自增主鍵用完了怎么辦》,本文關(guān)鍵詞  淺談,MySQL,中的,自增,主鍵,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談MySQL中的自增主鍵用完了怎么辦》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談MySQL中的自增主鍵用完了怎么辦的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    精品久久久久久中文| 成人免费网站视频ww| 国产高清在线精品一区二区| 国产一区二区精品久久91| 国产成a人片在线观看视频| 国产国产人免费视频成69堂| 欧美爱爱动态| 九九免费高清在线观看视频| 亚洲爆爽| 四虎影视久久| 韩国三级一区| 国产视频一区二区在线观看| 日本伦理黄色大片在线观看网站| 韩国妈妈的朋友在线播放| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本免费区| 欧美激情在线精品video| 天天做人人爱夜夜爽2020毛片| 国产视频一区在线| 香蕉视频一级| 台湾毛片| 四虎影视久久| 日韩专区一区| 日本伦理网站| 青草国产在线| 精品美女| 一级女人毛片人一女人| 成人在激情在线视频| 亚洲不卡一区二区三区在线 | 国产一区二区精品| 麻豆系列 在线视频| 一级毛片视频免费| a级精品九九九大片免费看| 午夜在线亚洲| 日日夜夜婷婷| a级毛片免费全部播放| 日韩免费在线视频| 国产精品123| 久久成人性色生活片| 亚洲精品影院一区二区| 尤物视频网站在线观看| 你懂的日韩| 午夜精品国产自在现线拍| 精品国产亚一区二区三区| 欧美a免费| 精品视频免费看| 国产不卡在线播放| 亚洲 男人 天堂| 国产韩国精品一区二区三区| 91麻豆精品国产自产在线观看一区| 国产美女在线观看| 亚洲第一页乱| 亚洲精品影院久久久久久| 亚欧成人毛片一区二区三区四区| 精品国产三级a| 999精品在线| 色综合久久久久综合体桃花网| 国产视频一区二区在线播放| 欧美电影免费看大全| 国产麻豆精品免费密入口| 亚洲精品影院| a级黄色毛片免费播放视频 | 国产一区二区精品在线观看| 四虎影视库国产精品一区| 国产成人精品综合久久久| 日韩在线观看视频黄| 欧美激情一区二区三区在线播放| 国产精品免费久久| 国产伦精品一区二区三区在线观看| 国产不卡在线播放| 精品久久久久久综合网| 精品国产一区二区三区久| 精品视频免费在线| 亚洲天堂一区二区三区四区| 可以免费看污视频的网站| 麻豆系列国产剧在线观看| 日韩中文字幕在线亚洲一区| 日韩欧美一及在线播放| 久久国产精品自线拍免费| 免费一级片网站| 日本特黄特色aa大片免费| 免费毛片播放| 久久99这里只有精品国产| 青青青草影院| 青青久久精品国产免费看| 99久久精品国产国产毛片| a级毛片免费观看网站| a级黄色毛片免费播放视频 | 精品在线观看国产| 国产福利免费视频| 免费国产在线观看| 欧美大片毛片aaa免费看| 欧美另类videosbestsex| 在线观看成人网 | 国产精品1024永久免费视频| 国产精品自拍亚洲| 精品视频免费看| 成人免费观看视频| 韩国毛片 免费| 国产综合91天堂亚洲国产| 欧美大片a一级毛片视频| 99久久精品国产片| 成人免费观看网欧美片| 日本特黄特色aaa大片免费| 日日日夜夜操| 国产视频久久久| 精品国产三级a∨在线观看| 九九九国产| 国产视频一区二区三区四区| 国产国语在线播放视频| 日韩在线观看视频免费| 国产网站免费在线观看| 精品国产亚一区二区三区| 久草免费在线观看| 韩国三级香港三级日本三级| 日韩免费片| 亚洲精品久久久中文字| 免费的黄视频| 尤物视频网站在线| 黄视频网站在线看| 国产福利免费视频| 精品视频免费看| 精品视频在线观看一区二区| 午夜激情视频在线观看| 国产极品精频在线观看| 可以在线看黄的网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品1024永久免费视频 | 国产成人精品一区二区视频| 91麻豆国产级在线| 精品国产香蕉伊思人在线又爽又黄| 日韩在线观看视频黄| 九九精品久久久久久久久| 国产不卡精品一区二区三区| 国产91精品一区| 九九久久国产精品| 中文字幕Aⅴ资源网| 美女免费黄网站| 欧美另类videosbestsex高清| 91麻豆tv| 欧美激情一区二区三区视频高清| 黄视频网站免费| 国产伦精品一区二区三区在线观看| 日韩专区亚洲综合久久| 久草免费在线色站| 日韩在线观看视频网站| a级黄色毛片免费播放视频| 精品久久久久久影院免费| 韩国三级一区| 精品国产三级a| 夜夜操网| 国产一区二区精品久| 国产视频久久久久| 亚洲精品影院一区二区| 免费国产在线观看| 一级女性大黄生活片免费| 成人高清视频免费观看| 韩国妈妈的朋友在线播放| 精品国产亚一区二区三区| 日本免费区| 91麻豆精品国产高清在线| 日日夜夜婷婷| 尤物视频网站在线观看| 成人在激情在线视频| 国产91素人搭讪系列天堂| 国产麻豆精品hdvideoss| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦精品一区三区视频| 麻豆系列国产剧在线观看| 国产激情视频在线观看| 可以在线看黄的网站| 999精品视频在线| 欧美一区二区三区性| 高清一级片| 国产视频在线免费观看| 欧美激情一区二区三区在线| 天天色成人| 毛片成人永久免费视频| 一本高清在线| 国产亚洲精品aaa大片| 亚洲精品影院久久久久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久国产影院| 成人高清免费| 二级特黄绝大片免费视频大片| 国产韩国精品一区二区三区| 国产精品自拍在线| 亚洲爆爽| 精品在线免费播放| 麻豆系列 在线视频| 99久久精品国产高清一区二区| 欧美电影免费看大全| 四虎影视久久久| 精品国产一区二区三区精东影业| 精品国产香蕉在线播出| 一本高清在线| 久久国产精品只做精品| 精品视频免费观看| 青青青草影院| 麻豆网站在线免费观看|