欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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ù)表會根據(jù)前一個id值+1進(jìn)行填充。

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

2. 自增id的好處

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

(2)數(shù)據(jù)庫自動編號,速度快,而且是增量增長,按順序存放,對于檢索非常有利;

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

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

頁分裂問題: 

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

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

3. 自增id的壞處

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Mysql的timestamp時(shí)間戳詳解及2038問題

    Mysql的timestamp時(shí)間戳詳解及2038問題

    本文主要介紹了Mysql的timestamp時(shí)間戳詳解及2038問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Mysql架構(gòu)圖解讀

    Mysql架構(gòu)圖解讀

    這篇文章主要介紹了Mysql架構(gòu)圖,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • MySQL使用Partition功能實(shí)現(xiàn)水平分區(qū)的策略

    MySQL使用Partition功能實(shí)現(xiàn)水平分區(qū)的策略

    這篇文章主要介紹了MySQL使用Partition功能實(shí)現(xiàn)水平分區(qū),給大家提到了水平分區(qū)的5種策略,通過sql語句給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Mysql如何導(dǎo)出篩選數(shù)據(jù)并導(dǎo)出帶表頭的csv文件

    Mysql如何導(dǎo)出篩選數(shù)據(jù)并導(dǎo)出帶表頭的csv文件

    這篇文章主要介紹了Mysql如何導(dǎo)出篩選數(shù)據(jù)并導(dǎo)出帶表頭的csv文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • mysql表操作-約束刪除、用戶填加、授權(quán)和撤權(quán)方式

    mysql表操作-約束刪除、用戶填加、授權(quán)和撤權(quán)方式

    本文詳細(xì)介紹了數(shù)據(jù)庫的約束刪除、密碼策略設(shè)置、用戶管理以及權(quán)限控制的具體操作步驟,包括查看與修改表的約束條件、設(shè)置數(shù)據(jù)庫密碼的策略、增加用戶以及用戶權(quán)限的授權(quán)與撤銷等,這些操作對于數(shù)據(jù)庫管理員來說是基本且必須掌握的技能
    2024-09-09
  • MySQL嵌套事務(wù)所遇到的問題

    MySQL嵌套事務(wù)所遇到的問題

    這篇文章主要介紹了MySQL嵌套事務(wù)所遇到的問題的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • mysql如何將id重新修改為遞增

    mysql如何將id重新修改為遞增

    這篇文章主要介紹了mysql如何將id重新修改為遞增,本文模擬場景結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù)

    MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù)

    這篇文章主要介紹了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 參數(shù),需要的朋友可以參考下
    2015-08-08
  • MySQL中RANK()函數(shù)的介紹和用法

    MySQL中RANK()函數(shù)的介紹和用法

    這篇文章主要介紹了MySQL中RANK()的介紹和用法,通過RANK()函數(shù),我們可以方便地為查詢結(jié)果進(jìn)行排序并為每個行分配排名,本文介紹了RANK()函數(shù)的概念和使用方法,并通過示例和輸出結(jié)果向讀者展示了具體的操作步驟和效果,感興趣的朋友一起看看吧
    2023-07-07
  • mysql.help_topic生成序列的方法實(shí)現(xiàn)

    mysql.help_topic生成序列的方法實(shí)現(xiàn)

    本文探討了如何使用MySQL的help_topic表生成序列,并介紹了相應(yīng)的SQL查詢語句和實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評論