最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql數(shù)據(jù)自增ID為2的解決方案

 更新時(shí)間:2022年12月27日 17:06:14   作者:qq_33508876  
這篇文章主要介紹了mysql數(shù)據(jù)自增ID為2的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql數(shù)據(jù)自增ID為2問題

查看配置

show variables like '%increment%';

如果:

auto_increment_increment=2

執(zhí)行:

set @@global.auto_increment_increment = 1;?
set @@auto_increment_increment =1;

如果:

auto_increment_offset=2

執(zhí)行:

set @@global.auto_increment_offset =1;
set @@auto_increment_offset =1;

mysql自增id理解

1. 什么是自增id

自增ID是在設(shè)計(jì)表時(shí)如果將id字段的值設(shè)置為自增的形式也就是AUTO_INCREMENT,那么當(dāng)插入一行數(shù)據(jù)時(shí)就無需指定id,數(shù)據(jù)表會(huì)根據(jù)前一個(gè)id值+1進(jìn)行填充。

指定了AUTO_INCREMENT的列必須要建索引,一般把ID作為主鍵,這樣系統(tǒng)會(huì)自動(dòng)為ID建立索引。

2. 自增id的好處

(1)增加記錄時(shí),可以不用指定id字段,不用擔(dān)心主鍵重復(fù)問題。

(2)數(shù)據(jù)庫(kù)自動(dòng)編號(hào),速度快,而且是增量增長(zhǎng),按順序存放,對(duì)于檢索非常有利;

(3)數(shù)字型,占用索引空間小,范圍查找與排序友好,在程序中傳遞也方便;

(4)避免像UUID這樣隨機(jī)字符串帶來的頁(yè)分裂問題等

頁(yè)分裂問題: 

 一頁(yè)總要被存滿,然后新開一頁(yè)繼續(xù),這種行為被稱作頁(yè)分裂。何時(shí)開辟新的頁(yè),mysql規(guī)定了一個(gè)分裂因子,達(dá)到頁(yè)存儲(chǔ)空間的15/16則存到下一頁(yè)。頁(yè)分裂的存在可能極大影響性能維護(hù)索引的性能。通常提倡的是,設(shè)定一個(gè)無意義的整數(shù)自增索引,有利于索引存儲(chǔ) 

如果非自增或不是整數(shù)索引,如非自增整數(shù)、類似MD5的字符串,以他們作為索引值時(shí),因?yàn)榇迦氲南乱粭l數(shù)據(jù)的值不一定比上一條大,甚至比當(dāng)前頁(yè)所有值都小,需要跑到前幾頁(yè)去比較而找到合適位置,InnoDB無法簡(jiǎn)單的把新行插入到上一行后面,而找到并插入索引后,可能導(dǎo)致該頁(yè)達(dá)到分裂因子閥值,需要頁(yè)分裂,進(jìn)一步導(dǎo)致后面所有的索引頁(yè)的分裂和排序,數(shù)據(jù)量小也許沒什么問題,數(shù)據(jù)量大的話可能會(huì)浪費(fèi)大量時(shí)間,產(chǎn)生許多碎片。

3. 自增id的壞處

(1) 不具有連續(xù)性,表中auto_increment最大值被刪除,將不會(huì)被重用。就是說會(huì)跳號(hào)(如果設(shè)定的auto_increment_increment是1,那么下一次插入的id值將會(huì)從被刪除的最大值算起,也就是被刪除的最大值+1)

(2)歷史數(shù)據(jù)表的主鍵id會(huì)與數(shù)據(jù)表的id重復(fù),兩張自增id做主鍵的表合并時(shí),id會(huì)有沖突,但如果各自的id還關(guān)聯(lián)了其他表,這就很不好操作。

(3) 很難處理分布式存儲(chǔ)的數(shù)據(jù)表,尤其是需要合并表的情況下

(4) 在系統(tǒng)集成或割接時(shí),如果新舊系統(tǒng)主鍵不同是數(shù)字型就會(huì)導(dǎo)致修改主鍵數(shù)據(jù)類型,這也會(huì)導(dǎo)致其它有外鍵關(guān)聯(lián)的表的修改,后果同樣很嚴(yán)重;

4. 當(dāng)自增id用完了怎么辦?

自增id的數(shù)據(jù)上限和受主鍵類型的影響,當(dāng)自增id超過最大值,就會(huì)提示主鍵沖突,所以建議根據(jù)業(yè)務(wù)需求設(shè)置主鍵數(shù)據(jù)類型,如果超過int 數(shù)值范圍,可以考慮bigint類型(2^64-1)。

當(dāng)隱性的row_id用完,數(shù)據(jù)庫(kù)不會(huì)產(chǎn)生錯(cuò)誤,它會(huì)重新從0開始覆蓋之前的數(shù)據(jù),這樣會(huì)導(dǎo)致數(shù)據(jù)丟失。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    這篇文章主要匯總介紹了Ubuntu上安裝MySQL+問題處理+安全優(yōu)化的相關(guān)事項(xiàng),非常的細(xì)致全面,有需要的小伙伴可以參考下
    2016-03-03
  • SQL使用WHERE條件語(yǔ)句的項(xiàng)目實(shí)踐

    SQL使用WHERE條件語(yǔ)句的項(xiàng)目實(shí)踐

    本文將介紹WHERE子句中使用的通用語(yǔ)法,它還將概述如何在單個(gè)WHERE子句中組合多個(gè)搜索條件謂詞以更細(xì)粒度的方式過濾數(shù)據(jù),以及如何使用NOT操作符排除而不是包含滿足給定搜索條件的行,感興趣的可以了解一下
    2023-09-09
  • 磁盤已滿造成的mysql啟動(dòng)失敗問題分享

    磁盤已滿造成的mysql啟動(dòng)失敗問題分享

    這篇文章主要介紹了磁盤已滿造成的mysql啟動(dòng)失敗問題分享,需要的朋友可以參考下
    2014-04-04
  • SQL匯總統(tǒng)計(jì)與GROUP BY過濾查詢實(shí)現(xiàn)

    SQL匯總統(tǒng)計(jì)與GROUP BY過濾查詢實(shí)現(xiàn)

    這篇文章主要介紹了SQL匯總統(tǒng)計(jì)與GROUP BY過濾查詢實(shí)現(xiàn),GROUP BY 實(shí)質(zhì)是先排序后分組,遵照索引建的最佳左前綴。當(dāng)無法使用索引時(shí),增大max_length_for_sort_data和sort_buffer參數(shù)的值
    2023-01-01
  • Canal入門使用小結(jié)

    Canal入門使用小結(jié)

    Canal是一款MySQL數(shù)據(jù)庫(kù)增量日志解析工具,用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,本文主要介紹了Canal入門使用小結(jié),感興趣的可以了解一下
    2025-02-02
  • mysql 5.6.37(zip)下載安裝配置圖文教程

    mysql 5.6.37(zip)下載安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.6.37(zip)下載安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名

    mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名

    這篇文章主要介紹了mysql實(shí)現(xiàn)查詢每門課程成績(jī)最好的前兩名學(xué)生id和姓名方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • MySQL5.7.18下載和安裝過程圖文詳解

    MySQL5.7.18下載和安裝過程圖文詳解

    本文通過圖文并茂的形式給大家介紹了MySQL5.7.18下載和安裝過程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-07-07
  • MySQL如何生成唯一的server-id

    MySQL如何生成唯一的server-id

    這篇文章主要給大家介紹了關(guān)于MySQL如何生成唯一的server-id的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Mysql更改默認(rèn)引擎為Innodb的步驟方法

    Mysql更改默認(rèn)引擎為Innodb的步驟方法

    mysql默認(rèn)是關(guān)閉InnoDB存儲(chǔ)引擎的使用的,而Mysql默認(rèn)引擎是MyISAM,而MyISAM并不支持事務(wù)處理,因?yàn)樽罱?xiàng)目中的需要所以要更換引擎,通過查找網(wǎng)上的資料后解決了,現(xiàn)在將步驟方法分享給大家,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12

最新評(píng)論

台前县| 镇巴县| 安化县| 微博| 宽甸| 鲁甸县| 洛隆县| 衡山县| 高台县| 惠东县| 清涧县| 五华县| 社旗县| 饶河县| 扎兰屯市| 新和县| 博白县| 大安市| 富平县| 玛沁县| 凤冈县| 新郑市| 宁都县| 鄂伦春自治旗| 突泉县| 昭通市| 额尔古纳市| 巴林右旗| 永宁县| 诸暨市| 平乐县| 漳平市| 普格县| 元朗区| 阜城县| 莱州市| 南溪县| 南皮县| 同江市| 南陵县| 墨竹工卡县|