婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 關(guān)于mysql自增id,你需要知道的

關(guān)于mysql自增id,你需要知道的

熱門標(biāo)簽:申請400電話電話價(jià)格 新鄉(xiāng)智能外呼系統(tǒng)好處 臨沂做地圖標(biāo)注 宜賓全自動(dòng)外呼系統(tǒng)廠家 廣東400企業(yè)電話申請流程 許昌外呼增值業(yè)務(wù)線路 地圖標(biāo)注客戶付款 咸陽防封電銷卡 石家莊400電話辦理公司

導(dǎo)讀:在使用MySQL建表時(shí),我們通常會(huì)創(chuàng)建一個(gè)自增字段(AUTO_INCREMENT),并以此字段作為主鍵。本篇文章將以問答的形式講述關(guān)于自增id的一切。

注: 本文所講的都是基于Innodb存儲(chǔ)引擎。

1.MySQL為什么建議將自增列id設(shè)為主鍵?

  • 如果我們定義了主鍵(PRIMARY KEY),那么InnoDB會(huì)選擇主鍵作為聚集索引、如果沒有顯式定義主鍵,則InnoDB會(huì)選擇第一個(gè)不包含有NULL值的唯一索引作為主鍵索引、如果也沒有這樣的唯一索引,則InnoDB會(huì)選擇內(nèi)置6字節(jié)長的ROWID作為隱含的聚集索引(ROWID隨著行記錄的寫入而主鍵遞增,這個(gè)ROWID不像ORACLE的ROWID那樣可引用,是隱含的)。
  • 數(shù)據(jù)記錄本身被存于主索引(一顆B+Tree)的葉子節(jié)點(diǎn)上。這就要求同一個(gè)葉子節(jié)點(diǎn)內(nèi)(大小為一個(gè)內(nèi)存頁或磁盤頁)的各條數(shù)據(jù)記錄按主鍵順序存放,因此每當(dāng)有一條新的記錄插入時(shí),MySQL會(huì)根據(jù)其主鍵將其插入適當(dāng)?shù)墓?jié)點(diǎn)和位置,如果頁面達(dá)到裝載因子(InnoDB默認(rèn)為15/16),則開辟一個(gè)新的頁(節(jié)點(diǎn))
  • 如果表使用自增主鍵,那么每次插入新的記錄,記錄就會(huì)順序添加到當(dāng)前索引節(jié)點(diǎn)的后續(xù)位置,當(dāng)一頁寫滿,就會(huì)自動(dòng)開辟一個(gè)新的頁
  • 如果使用非自增主鍵(如果身份證號或?qū)W號等),由于每次插入主鍵的值近似于隨機(jī),因此每次新紀(jì)錄都要被插到現(xiàn)有索引頁得中間某個(gè)位置,此時(shí)MySQL不得不為了將新記錄插到合適位置而移動(dòng)數(shù)據(jù),甚至目標(biāo)頁面可能已經(jīng)被回寫到磁盤上而從緩存中清掉,此時(shí)又要從磁盤上讀回來,這增加了很多開銷,同時(shí)頻繁的移動(dòng)、分頁操作造成了大量的碎片,得到了不夠緊湊的索引結(jié)構(gòu),后續(xù)不得不通過OPTIMIZE TABLE來重建表并優(yōu)化填充頁面。

綜上而言:當(dāng)我們使用自增列作為主鍵時(shí),存取效率是最高的。

2.自增列id一定是連續(xù)的嗎?

自增id是增長的 不一定連續(xù)。

我們先來看下MySQL 對自增值的保存策略:

InnoDB 引擎的自增值,其實(shí)是保存在了內(nèi)存里,并且到了 MySQL 8.0 版本后,才有了“自增值持久化”的能力,也就是才實(shí)現(xiàn)了“如果發(fā)生重啟,表的自增值可以恢復(fù)為 MySQL 重啟前的值”,具體情況是:
在 MySQL 5.7 及之前的版本,自增值保存在內(nèi)存里,并沒有持久化。每次重啟后,第一次打開表的時(shí)候,都會(huì)去找自增值的最大值 max(id),然后將 max(id)+1 作為這個(gè)表當(dāng)前的自增值。
舉例來說,如果一個(gè)表當(dāng)前數(shù)據(jù)行里最大的 id 是 10,AUTO_INCREMENT=11。這時(shí)候,我們刪除 id=10 的行,AUTO_INCREMENT 還是 11。但如果馬上重啟實(shí)例,重啟后這個(gè)表的 AUTO_INCREMENT 就會(huì)變成 10。
也就是說,MySQL 重啟可能會(huì)修改一個(gè)表的 AUTO_INCREMENT 的值。
在 MySQL 8.0 版本,將自增值的變更記錄在了 redo log 中,重啟的時(shí)候依靠 redo log 恢復(fù)重啟之前的值。

造成自增id不連續(xù)的情況可能有:

  • 1.唯一鍵沖突
  • 2.事務(wù)回滾
  • 3.insert ... select語句批量申請自增id

3.自增id有上限嗎?

自增id是整型字段,我們常用int類型來定義增長id,而int類型有上限 即增長id也是有上限的。

下表列舉下 int 與 bigint 字段類型的范圍:

類型 大小 范圍(有符號) 范圍(無符號)
int 4字節(jié) (-2147483648,2147483647) (0,4294967295)
bigint 8字節(jié) (-9223372036854775808,9223372036854775807) (0,18446744073709551615)

從上表可以看出:當(dāng)自增字段使用int有符號類型時(shí),最大可達(dá)2147483647即21億多;使用int無符號類型時(shí),最大可達(dá)4294967295即42億多。當(dāng)然bigint能表示的范圍更大。

下面我們測試下當(dāng)自增id達(dá)到最大時(shí)再次插入數(shù)據(jù)會(huì)怎么樣:

create table t(id int unsigned auto_increment primary key) auto_increment=4294967295;insert into t values(null);// 成功插入一行 4294967295show create table t;/* CREATE TABLE `t` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4294967295;*/
insert into t values(null);//Duplicate entry '4294967295' for key 'PRIMARY'

從實(shí)驗(yàn)可以看出,當(dāng)自增id達(dá)到最大時(shí)將無法擴(kuò)展,第一個(gè) insert 語句插入數(shù)據(jù)成功后,這個(gè)表的AUTO_INCREMENT 沒有改變(還是 4294967295),就導(dǎo)致了第二個(gè) insert 語句又拿到相同的自增 id 值,再試圖執(zhí)行插入語句,報(bào)主鍵沖突錯(cuò)誤。

4.關(guān)于自增列 我們該怎么維護(hù)?

維護(hù)方面主要提供以下2點(diǎn)建議:

  • 1.字段類型選擇方面:推薦使用int無符號類型,若可預(yù)測該表數(shù)據(jù)量將非常大 可改用bigint無符號類型。
  • 2.多關(guān)注大表的自增值,防止發(fā)生主鍵溢出情況。

以上就是關(guān)于mysql自增id,你需要知道的的詳細(xì)內(nèi)容,更多關(guān)于mysql自增id的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • MySQL表自增id溢出的故障復(fù)盤解決
  • 關(guān)于MySQL自增ID的一些小問題總結(jié)
  • 關(guān)于Mysql自增id的這些你可能還不知道
  • mysql自增id超大問題的排查與解決
  • MySQL分表自增ID問題的解決方法
  • 線上MySQL的自增id用盡怎么辦

標(biāo)簽:北京 阜新 鷹潭 貴州 臺灣 日照 合肥 鎮(zhèn)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于mysql自增id,你需要知道的》,本文關(guān)鍵詞  關(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)文章
  • 下面列出與本文章《關(guān)于mysql自增id,你需要知道的》相關(guān)的同類信息!
  • 本頁收集關(guān)于關(guān)于mysql自增id,你需要知道的的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    在线观看不卡一区| 亚洲激情网站免费观看| 日韩一区二区视频在线观看| 欧美精品一区二区三区高清aⅴ | 亚洲高清免费观看高清完整版在线观看| 亚洲一区在线看| 国产宾馆实践打屁股91| 日韩欧美色综合网站| 亚洲久本草在线中文字幕| 国产精品综合网| 欧美刺激午夜性久久久久久久| 国产精品色一区二区三区| 蜜桃视频一区二区三区| 欧美区视频在线观看| 91在线精品一区二区| 国产欧美日本一区二区三区| 麻豆视频观看网址久久| 欧美精品在线一区二区三区| 26uuuu精品一区二区| 另类小说一区二区三区| 欧美综合久久久| 亚洲视频你懂的| 久久97超碰国产精品超碰| 欧美男生操女生| 国产999精品久久久久久绿帽| 欧美日本在线看| 在线观看av一区| 精品国产91洋老外米糕| 精品无人码麻豆乱码1区2区 | 国产福利一区二区三区视频| 日韩免费视频一区二区| 亚洲影院在线观看| 欧美日韩国产一级| 日韩精品成人一区二区三区| 日韩成人dvd| 99久久伊人精品| 久久久久久免费| 成人黄色软件下载| 欧美日韩国产三级| 蜜臀久久久99精品久久久久久| 国产成人av一区二区三区在线| 欧美日本在线看| 日本不卡视频一二三区| 91天堂素人约啪| 久久精品视频在线看| 奇米色一区二区三区四区| 欧美成人国产一区二区| 91在线视频免费91| 日韩一区二区三区免费看| 欧美国产日韩精品免费观看| 中文字幕在线一区免费| 成人三级伦理片| 国内精品伊人久久久久av影院| 亚洲1区2区3区4区| 夜夜嗨av一区二区三区网页| 在线视频观看一区| 国产一区二区在线观看免费| 国产精品久久久久久久岛一牛影视| 在线一区二区三区做爰视频网站| 免费欧美日韩国产三级电影| 国产精品久久久久久久久果冻传媒| 在线免费观看日韩欧美| 一区二区在线观看视频| 日韩精品专区在线影院观看| 在线观看不卡一区| 国产精品资源在线看| 午夜精品爽啪视频| 国产欧美精品一区aⅴ影院| 欧美日韩国产免费一区二区 | 欧美精品乱人伦久久久久久| 欧美一区欧美二区| 色域天天综合网| 99久久精品国产观看| 麻豆专区一区二区三区四区五区| 亚洲精选视频免费看| 久久久一区二区三区| 欧美日韩国产美| 色婷婷久久久综合中文字幕 | 欧美激情资源网| 欧美一区二区三区免费| 色综合天天天天做夜夜夜夜做| 久久99日本精品| 秋霞午夜av一区二区三区| 一区二区三区在线播放| 中文字幕中文字幕在线一区 | 青青草97国产精品免费观看| 亚洲精品欧美在线| 国产精品久久久久国产精品日日| 欧美精品一区二区三区蜜桃视频| 日韩美女视频一区| 国产精品99久| 国产一区二区三区久久久| 免费不卡在线观看| 欧美xxxx老人做受| 久久亚洲精品国产精品紫薇| 亚洲图片欧美色图| 国产精品午夜免费| 一区二区三区.www| 久久国产精品99久久人人澡| 日本v片在线高清不卡在线观看| 久久精品国产**网站演员| 日韩成人一区二区| 成人毛片老司机大片| 不卡av在线免费观看| 免费观看在线色综合| 亚洲国产日韩在线一区模特| 亚洲精品高清在线观看| 亚洲自拍偷拍图区| 亚洲电影一区二区| 亚洲欧美成aⅴ人在线观看| 国产精品久久久久7777按摩 | 久久精品亚洲精品国产欧美kt∨| 欧美色国产精品| 国产精品久久久久久久裸模| 亚洲丝袜美腿综合| 亚洲国产欧美日韩另类综合 | 国产精品白丝jk白祙喷水网站| 日韩国产在线观看| 久久99精品国产91久久来源| 国内精品久久久久影院色 | 国产精品毛片久久久久久| 中文字幕一区二区三区蜜月| 亚洲午夜激情网站| 日韩av电影天堂| 成人开心网精品视频| 欧美日韩免费一区二区三区| 91精品国产免费| 一区二区三区在线观看国产| 国产一区三区三区| 久久久久久免费| 激情小说亚洲一区| 91精品国产综合久久蜜臀| 亚洲美女在线国产| jlzzjlzz国产精品久久| 国产日韩欧美激情| 欧美aⅴ一区二区三区视频| 欧美网站大全在线观看| 一区二区三区自拍| 99精品视频一区二区三区| 国产婷婷一区二区| 国产成人免费在线观看不卡| 久久综合久久综合九色| 日韩高清在线电影| 91精品国产色综合久久| 国产在线不卡一区| 日韩国产一区二| 一区二区三区成人| 久久精品夜色噜噜亚洲aⅴ| 欧美精品高清视频| 色综合视频在线观看| 国产在线一区二区综合免费视频| 亚洲综合色网站| 亚洲黄色性网站| 丝袜诱惑制服诱惑色一区在线观看| 国产精品免费av| 欧美激情一区二区三区全黄| 一区在线观看视频| 日本91福利区| 国产成人精品免费在线| 精品国产髙清在线看国产毛片| 国产精品 欧美精品| 久久av中文字幕片| 中文字幕精品一区| 91久久精品国产91性色tv| 久久91精品久久久久久秒播| 亚洲福利一二三区| 97久久精品人人做人人爽50路 | 欧美精品色一区二区三区| 亚洲电影中文字幕在线观看| 欧美特级限制片免费在线观看| 日韩不卡一区二区| 国产欧美日韩视频在线观看| 成+人+亚洲+综合天堂| 亚洲一区二区在线播放相泽| 日韩欧美久久一区| 欧美一区二区三区喷汁尤物| 国产资源在线一区| 国产精品国产三级国产aⅴ原创| 欧美网站一区二区| 国产在线精品一区在线观看麻豆| 欧美国产精品久久| 91麻豆精品国产91久久久| 不卡一区二区三区四区| 午夜久久久影院| 欧美国产精品v| 欧美一区午夜精品| 99精品国产91久久久久久| 日韩精品欧美成人高清一区二区| 国产欧美一区二区精品性色| 日本大香伊一区二区三区| 久久精品噜噜噜成人88aⅴ | 欧美日韩一区小说| 亚洲欧洲成人av每日更新| 国产麻豆一精品一av一免费 | 国产裸体歌舞团一区二区| 日韩视频中午一区| 亚洲三级电影网站| 欧美专区日韩专区| 亚洲一区二区三区爽爽爽爽爽| 东方欧美亚洲色图在线|